Bài viết Một kỹ thuật xây dựng hệ bao tự động cho đối tượng 3D nêu lên việc xây dựng hệ bao (Boundiing volume hierrarchy - B VH) tự động cho một đối tượng 3D. Việc xây dựng BVH cho đối tượng thường theo mô hình từ trên xuống (top-down), từ dưới lên (bottoom-up) hoặc thêm vào (add inn); với một dạng hộp bao cụ thể.
Kỷ K yếu Hội nghị Quốc Q gia lần thứ VIII Nghiên ứu ứng dụng Công nghệệ thông tin (FAIR)); Hà Nội, ngày 99-10/7/2015 MỘT KỸ Ỹ THUẬT T XÂY DỰ ỰNG HỆ BAO TỰ Ự ĐỘNG CHO ĐỐ ỐI TƯỢNG G 3D Nguyễn n Đức Hồng1, Đỗ Năng Tồn2, Nơng M Minh Ngọc3 ưu Viễn Học viện Cơng nghệ Bư n thơng, 2Viện Công nghệ thhông tin , 3ĐH H Thái Nguyên ho oangnd@ptit.eedu.vn TÓM TẮT TẮ - Báo cáo nnày đề cập đến việc xây dựng hệ bao (Boundiing volume hierrarchy - BVH) tự động cho mộ ột đối tượng 3D Việc xây dự ựng BVH cho đốối tượng thườngg theo mơ hình từ xuống (top-down), từ lên (bottoom-up) thê êm vào (add in n); với dạnng hộp bao cụ thhể Kỹ thuật đề xuất xây dựng BVH dựa việc sử dụng nhhiều dạng hộp bbao khác phù p hợp với th hực tế hoạt độnng đối tượnng Kỹ thuật đãã thử nghiệm tỏ hiệệu ccác mô hình đốối tượng 3D đượ ợc xây dựng th heo phương phááp liên tục Từ khóaa - hệ bao, tự độộng, nhiều dạngg hộp bao, nhận n dạng va chạm m I GIỚI G THIỆU Hệ baoo BVH [9] đóng vai trò quuan trọng việc biểu diễn vật thhể, cho phép giải nhiều vấn đề trrong lý thuyếết ứng dụngg nhận dạạng va chạm, dò tia Các kỹ ỹ thuật chho phép giải ccác toán trrong nhiều lĩĩnh vực robotic, r đồ họọa máy tính, đđồ họa động, trrò chơi điện tử ử, thực ảo , mô vvà biểu diễn có ó khả tư ương tác BVH nhữngg phương pháp p tiếp cận thàn nh công trrong hệ thhống hành [1] Thời gian g tính tốn cho hệ thốống thể hiiện độ ưu việt BVH [2]: N x Cp T = Nv x Cv + Np Hình Ví dụ hệ h bao sử dụng hình h chữ nhật lààm khối bao T: Tổngg thời gian tínnh tốn; Nv: Số phép thử cặp hhệ bao chồng lấn; Cv: Thời gian phhép thử cho m cặp hệ bao; Np: Số phép thử cặp hhình ch hồng lấn; Cp: Thhời gian phhép thử cho m cặp hìn nh Điều nàày chứng tỏ m hệ thống hhoạt động dựa d hai yếếu tố: độ khít ccủa hệ bao soo với đối tượng g (Nv, Np) v độ đơn giảnn phép thử chồng lấn trêên cặp hệ bao (Cv) Hệ bao khối cầu (Spphere) [4] kkhối lập phươ ơng (AABB) [3] tạo phépp thử chồng lấấn đơn giản n Trong k đó, hệ baoo khối chữ nhậật (OBB) [2] khối đa diện rời rạc có hướng h (k-DO OP) [5] cho biểểu diễn khít n Trong báo b cáo sẽẽ trình bày việc ứng dụngg hai loại khối biểu diễn để tối ưu m mặt độ khít củủa hệ bao độ đơn giản c phép thử chồng c lấn Beckmaann [3] đưa raa giải thuật chho AABB B, Palmer [7] v Hub-bard [[4] đưa giảii thuật cho câ ây khối cầu để đ giải vấn v đề đơn giảản hóa Trongg Gottscchalk [2] đưa giải thuật ccho khối OBB B Klosowski [5] đưa r giải thuật cho c khối đa ddiện k-DOP đểể giải vấn v đề độ khít hộp bao.Van denn Bergen [8] đưa đ phương p thức đơn đ giản để phhân tách hhộp chữ nhật OBB O biếtt đến với tên S SAT lite Giảii thuật chỉỉ sử dụng trrong số 15 hệ trục tọa độ soo giải thuật gốốc Trong báo b cáo này, vvấn đề xây dựnng hệ bao (BV VH) cho đ hệ bao III KỸ THU UẬT XÂY D DỰNG HỆ BA AO TỰ ĐỘNG G VỚI NHIỀ ỀU DẠNG HỘ ỘP BAO Giới hạạn cho việc thự ực kỹ thuuật saau: • Việệc thực đđược thực hiệnn hai vật thể t rắn Tính ưu việt kỹỹ thuật th thể qua việc cho hai vậtt thể rắn giốngg hệt va cchạm với u Thời gian tíính tốn va chhạm tiêu chíí để xem xét • Việệc biểu diễn hhệ bao đối tư ượng với nhiềều dạng hộp bao b giới hạạn hai dạngg hộp bao thu uộc phư ương hướng tốối ưu • Mộột hệ bao với hai dạng hộp bao lựaa chọn, đ nút hộộp bao thuộc hhướng khít tăng cườ ờng hhộp bao hướngg đơn giản • Phép thử với hộpp bao hướng đđơn giản đư ược thực trước t để loại ttrừ đối tượợng xa A A Xây dựng hệ h bao tự độn ng Việc xâây dựng tự độnng hệ bao coi l tự động xây y dựng cấu trúúc liệu hìnhh mơ tả hệ bao [10] Phương P thức chung c để xây ddựng hệ bbao đượ ợc miêu tả sau: hệ bao xây dựnng sở m liệu hộp baao Trong ccác hộp bao làà hình đơn n giản sắắp xếp khít quuanh nhau, baoo phủ đối tượn ng cần xem xét x Các hộp n đề cậập đến phần n II Một số giải thuật xâyy dựng hệ bao tự động đư ược nghiên ứu: • Thhêm dần: Giải thuật đư ưa Gold dsmith [11] Giải G thuật đượợc thiết lập dự ựa việc tín nh tốn giá trị nhỏ thêm m hình vào g hệ Khi mộtt hình bảnn p thêm m vào mộột hệ phâân chia, giải thhuật sử dụn ng luật: o p có c thể nhánhh mộtt nhóm g; o p có c thể kết hợp với hình p' nhó óm g', g' m nhánh conn g; o p có c thể thêm vào nnhóm g' thuộc nhóm đệ quy g Hình 13 Luật thuật toán thêm vào Nguyễn N Đức Hồnng, Đỗ Năng Tồàn, Nơng Minh Nggọc 419 Phươngg pháp sử ddụng để tạo m hệ bao xấp p xỉ nhiên có số hạn chế Hệ đ tạo dựa d yêu cầu thêm vào ccủa nút V Và yêu cầu y không mo ong muốn pphải dựa ccảm quan người xây dựng d hệ bao Trong T số ttrường hợp giiá trị s không tối ưu nhóm m ứa hai hình Điều n cải thiện t tronng thuật toán đưa Haber [Error! Referen nce source n not found.]: sử dụng hai cách c tiếp cận: o Thhêm lại thành ccông: Loại bỏ nút kh hông tốt thêêm lại chúng vvào hệ bao o Giớ ới hạn nhóóm xấu: Tìm ccác nhóm khơng tốt cố gắng g chia chúnng • Chhia nhỏ: Thuậtt toán đượ ợc xây dựng Muller [13]] Thuật toán chia nhỏ tập hợp hình h mộột cách đệ quyy thành hai tậpp không trrùng phần tử Việc đượợc dừng lại khhi đạt đến ngưỡng Thuật toáán thực hiệnn sau: Câây hệ bao đượcc xây dựng bở ởi việc xếpp hình theo trục tọa độ chíính lấy mốc tâm ccác hình bảản Sau ức lựa chhọn giá trị nhỏỏ y hoạt động trênn việc xem xéét tất điiểm phân chia Thuậtt tốn tiếp ttục chia đến kh ứa tồn hìnnh ccác Hình 14 X Xây dựng bằằng cách phân chia dọc theo mộ ột trục ttại điểm có giá trị nhỏ nhấtt Giải thuuật Gottschhalk [[2]] sử dụng cho hệ baao sử dụng hộộp bao OBB Trong đó, việ ệc chia nhỏ s tiến hành dọọc theo trục dàài nhất, sử dụnng điểm trrung tâm Điểm hạn h chế nhhất giải thu huật xây dựng đượ ợc hệ bao nhị phân Tuyy nhiên khắc phục b cách chiaa nhiều lần cấpp Độ cân g phụ thuộc chứcc giá trị sử dụng g • Kết hợp: Giải thuuật xây dựng Erleben [14] thấy đđược áp dụng OpenTissue [16] Giải thuật bắắt đầu với việcc xây dựng cấu u trúc đồ thị d liệu, đđó nút thhuộc đồ thị liên n quan đến hình vvà đỉnh cóó quan hệ lân cận Một đỉn nh đồ thịị nghĩa hai nút hệ bao kết hợp tốt với nhhau Các đỉnhh xác địn nh chức c phỏỏng đốn tronng phóng đại hộp bao b ghi nhhận va chạm M Một va chạm có nghĩa m đỉnh hai đồ thị nútt vừa va chạm m cần thêm m vào đồ thị Hình 15 Một M đỉnh sụp đổ ổ thành nút 420 MỘT KỸ THU UẬT XÂY DỰNG G HỆ BAO TỰ Đ ĐỘNG CHO ĐỐI TƯỢNG 3D Việc nàày lặp đii lặp lại cho đđến nú út tồn n Sau đỉnh sụpp đổ đồ thị, t nút th huộc hệ bao đ kết hợp tthành nhóóm mộ ột hai điiều kiện sau thhỏa mãn: o Đồồ thị nút bao phủ lượng lớn nhán nh cố định; o Cóó đỉnh trrong đồ thhị so với nhánh n cố định h B B Lựa chọn hộp h bao phù h hợp Như đãã trình bày trrên, việc xây ddựng hệ bao đối đ tượng có th hể thơng qua ccác phương phháp là: sử dụng hệ bao b cầu (Spherre); hệ bao hộộp chữ nhật (A AABB); hệ baao hộp chữ nhậật có hướng (O OBB) hệ bbao đa diện có hướng rời rạc r (k-DOP) Để tận dụng lợi ccủa hai dạng hhộp bao: AABB, Sphere - ơn giản; OBB B, k-DOP - chíính xác, ể xây dựng m cậy hệ baoo xây dự ựng nhiềều dạng hộp bao nú út Trong đó, nút sẽẽ có hộp bao o dạng đơn giản g hộp bao b dạng chínnh xác Trong tài t liệu lựa chọn sử ddụng hai dạng hộp bao: AAB BB OBB đđể xây dựng câây hệ bao cho đối tượng Cấu C trúc c đượ ợc xây dựng ddựa cấu trrúc OBB đưa bbởi Gottschallk Với nú út OBB O xâyy dựng, cấu trrúc hai hộp baao xây y dựng bao gồ ồm thêm hộp bao AAB BB bao th hành tố mặt m phẳng nút n Có hai phương thức để xây dựng hhộp bao AABB trườn ng hợp Phhương thức thứ tìm hộp bao AABB A nhỏ nhhất cho đối tượ ợng Phương thức thứ hai s đặt tâm củaa hộp AABB trùng với tâm m hộp OBB Phương th hức thứ hai sẽẽ cho giải thuậật đơn giản hơ ơn việc tính h tốn nhanh h Trong kkhi phươngg án thứ cho hộp bao b AABB khhít đối vớ ới đối tượng T Theo số thực t nghiệm việc v chọn khốối hộp AABB khít cho kết k c phép thử tốốt Hình 16 Hai H hộp bao khơ ơng chồng lấn Hình 17 Hai hộp bao o chồng lấn Bài kiểm m tra cho việcc phân tách núút hệ bao hai dạạng hộp bao sẽẽ thực hiiện sau: Hệ H hộp bao AABB A đượ ợc kiểm tra trư ước, chúnng cần phải ch hia nhỏ hệ bao chung sẽẽ chia nhỏ Nếếu hệ hộp bao o AABB bị chồng c lấn, hệ hộp baoo OBB đượ ợc xem xét tiếp p theo Nguyễn Đức Hồng, Đỗ Năng Tồn, Nơng Minh Ngọc 421 Những ưu điểm phương pháp xây dựng hộp bao gồm: • Tăng cường độ khít hộp bao so với phương pháp AABB đơn lẻ Điều đạt độ khít hộp OBB tốt so với hộp AABB • Độ phức tạp phép thử giảm bớt so với phương pháp sử dụng hộp OBB Do phải thực phép thử với hệ hộp AABB trước, xảy chồng lấn cần xét tiếp đến hệ hộp OBB nên số lượng tính tốn phương pháp kép giảm thiểu C Ưu điểm hạn chế Ưu điểm kỹ thuật việc khơng làm giảm độ xác phép thử sử dụng hệ bao đảm bảo xác (OBB) làm sở khả tăng tốc tính tốn sử dụng hệ bao đảm bảo tính đơn giản (AABB) để tính tốn trước, va chạm xảy nhánh khoanh vùng để tính xác Hạn chế kỹ thuật thời gian xây dựng hệ bao tăng lên nhiều so với phương pháp sử dụng hệ bao dạng hộp bao Ngồi có hai dạng hộp bao vật thể nên kích thước đối tượng xem xét tăng lên D Xây dựng thuật tốn Các bước xây dựng thuật tốn mơ tả sau: • Bước 1: Xây dựng liệu hệ bao theo phương pháp xây dựng hệ bao tự động sử dụng cho dạng hộp bao AABB theo giải thuật Gottschalk • Bước 2: Tại nút xây dựng tái tạo mới, có cấu trúc giống cũ Dạng hộp bao sử dụng thay OBB • Bước 3: Giải thuật xây dựng tính tốn dựa sở việc phát va chạm xảy với hệ bao o Nếu không xảy va chạm Hệ bao cho đối tượng hệ bao sử dụng dạng hộp bao AABB; o Nếu xảy va chạm nút thuộc hệ bao Hệ bao cho đối tượng hệ bao sử dụng dạng hộp bao OBB IV THỰC NGHIỆM Việc thực nghiệm thể kết cho việc tính tốn thời gian xử lý áp dụng cho dạng bề mặt khác nhau, với cấu hình khác Bảng Bảng so sánh thời gian xử lý (s) Mẫu thử 0% 1% 2% 3% 4% 5% RAPID 27.2540 14.0696 8.6457 6.2860 4.9193 4.0032 Dual 20.6053 10.1924 5.8939 4.0741 3.0381 2.3816 Mẫu thử: Sử dụng mơ hình Phật di lạc làm mẫu thử Mẫu thử bao có hệ lưới bao gồm 15.536 tam giác Va chạm xảy với hai đối tượng giống có 229,824 cách cấu hình vị trí hướng mẫu thử Cách cấu hình vị trí hướng mẫu thử đưa Trenkel [17] Trong sử dụng dạng khoảng cách khác nhau: 0%, 1%, 2%, 3%, 4% 5% cho kích thước mẫu thử đưa vào Mỗi khoảng cách xác định bán kính hộp bao Giải thuật RAPID: Giải thuật cho phép nhận dạng va chạm sở sử dụng hộp bao OBB, download trang web: http://www.cs.unc.edu/~geom/OBB/OBBT.html Trên sở thay đổi mã nguồn mở giải thuật xây dựng giải thuật cho việc nhận dạng va chạm sử dụng hai dạng hộp bao Dựa kết dễ dàng nhận ra, việc sử dụng giải thuật với hai dạng hộp bao tiết kiệm thời gian so với việc sử dụng giải thuật RAPID V KẾT LUẬN Xây dựng hệ bao BVH tự động cho đối tượng 3D tốn tính tốn va chạm cách tiếp cận thể nhiều ưu điểm Việc xây dựng BVH cho đối tượng thường theo mơ hình xuống, lên thêm vào; với dạng hộp bao cụ thể Báo cáo đề xuất kỹ thuật xây dựng BVH dựa việc sử dụng nhiều dạng hộp bao khác phù hợp với thực tế hoạt động đối tượng Kỹ thuật thử nghiệm với hai dạng hộp bao tỏ hiệu mơ hình đối tượng 3D xây dựng theo phương pháp liên tục 422 MỘT KỸ THUẬT XÂY DỰNG HỆ BAO TỰ ĐỘNG CHO ĐỐI TƯỢNG 3D VI TÀI LIỆU THAM KHẢO [1] Akenine-Moller, T., Hains, E.: Real-Time Rendering A K Peters, 2002 [2] Gottschalk, S., Lin, M.C., Manocha, D.: OBB-Tree: a hierarchical structure for rapid interference detection In: ACM SIGGRAPH 1996, pp 171–180, 1996 [3] Beckmann, N., Kriegel, H.-P., Schneider, R., Seeger, B.: The R -Tree: an efficient and robust access method for points and rectangles In: ACM SIGMOD Conf on the Management of Data, pp 322–331, 1990 [4] Hubbard, P.M.: Collision detection for interactive graphics applications IEEE Trans on Visualization and Computer Graphics 1(3), 218–230, 1995 [5] Klosowski, J.T., Held, M., Mitchell, J.S.B., Sowizral, H., Zikan, K.: Efficient collision detection using bounding volume hierarchies of k-DOPs IEEE Trans on Visualization and Computer Graphics 4(1), 21–37, 1998 [6] Lin, M.C., Gottschalk, S.: Collision detection between geometric models: a survey In: Proc IMA Conference on the Mathematics of Surfaces, pp 37–56, 1998 [7] Palmer, I., Grimsdale, R.: Collision detection for animation using sphere-trees Computer Graphics Forum 14(2), 105–116, 1995 [8] Van den Bergen, G.: Efficient collision detection of complex deformable models using AABB trees J Graphics Tools 2(4), 1–14, 1997 [9] Herman J Haverkort, Introduction to bounding volume hierarchies PhD Thesis Chapter 1, 2004 [10] Jepprey Goldsmith, John Salmon, Automatic creation of Object Hierarchy for Ray tracing IEEE CG&A, 1987 [11] K Erleben, J Sporring, K Henriksen, and H Dohlmann Physics-Based Animation Charles River Media, 2005 [12] J Goldsmith and J Salmon Automatic Creation of Object Hierarchies for Ray Tracing IEEE CGA, 1987 [13] J Haber, M Staminger, and H Seidel Enhanced Automatic Creation of Multi- Purpose Object Hierarchies IEEE CGA, 2000 [14] G M u ller, S Schafer, and D W Fellner Automatic Creation of Object Hierarchies for Radiosity Clustering Technical Report TUBS-CG-1999-06, TU Braunschweig, 1999 [15] K Erleben An Introduction to Approximating Heterogeneous Bounding Volume Hierarchies Technical Report DIKU-TR-02/04, DIKU, 2002 [16] Opentissue: Opensource Project, Physics-Based Animation and Surgery Simulation http://www.opentissue.org [17] Trenkel, S., Weller, R., Zachmann, G.: A Benchmarking Suite for Static Collision Detection Algorithms In: International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision (WSCG), 2007 MỘT KỸ THUẬT XÂY DỰNG HỆ BAO TỰ ĐỘNG CHO ĐỐI TƯỢNG 3D Nguyen Duc Hoang, Do Nang Toan, Nong Minh Ngoc ABSTRACT - In this paper, we describe the algorithm construct the Bounding volume hierarchy (BVH) automatically for a 3D model In common, the tree data constrution progress for BVH of an object could be implemented with Top-down model, Bottom-up model or Add-in model, with only determined bounding volume We also describe a technic to construct the tree data of BVH based on algorithm using multiple kind of bounding volume according to the operation of objects The algorithm was tested and showed the effect with the continous tree data construction of 3D models ... Giải thuật xây dựng tính tốn dựa sở việc phát va chạm xảy với hệ bao o Nếu không xảy va chạm Hệ bao cho đối tượng hệ bao sử dụng dạng hộp bao AABB; o Nếu xảy va chạm nút thuộc hệ bao Hệ bao cho đối. .. nghiệm với hai dạng hộp bao tỏ hiệu mơ hình đối tượng 3D xây dựng theo phương pháp liên tục 422 MỘT KỸ THUẬT XÂY DỰNG HỆ BAO TỰ ĐỘNG CHO ĐỐI TƯỢNG 3D VI TÀI LIỆU THAM KHẢO [1] Akenine-Moller, T.,... với việc sử dụng giải thuật RAPID V KẾT LUẬN Xây dựng hệ bao BVH tự động cho đối tượng 3D tốn tính tốn va chạm cách tiếp cận thể nhiều ưu điểm Việc xây dựng BVH cho đối tượng thường theo mô hình