1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xử lý va chạm trong thực tại ảo và ứng dụng

41 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 41
Dung lượng 7,97 MB

Nội dung

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan toàn bộ nội dung bản luận văn này là do tôi tự sưu tầm, tra cứu và sắp xếp cho phù hợp với nội dung yêu cầu của đề tài.

Nội dung luận văn chưa từng được công bồ hay xuất bản đưới bat kỳ hình thức nao và cũng không được sao chép từ bat kỳ một công trình nghiên cứu nào.

Tất cả mã nguồn của chương trình đều do tôi tự thiết kế và xây dựng, trong đó có sử dụng một số thư viện chuẩn và các thuật toán được các tác giả xuất bản công

khai và miễn phí trên mạng Internet.

Nêu sai tôi xin hoàn toàn chịu trách nhiệm.

Hà Nội, ngày 05 thang 12 năm 2015

Người cam đoan

Bùi Quang Sum

Trang 2

LOI CAM ON

Dé hoàn thành được luận van này tôi đã nhận được rất nhiều sự động viên,

giúp đỡ của nhiều cá nhân và tập thể.

Trước hết, tôi xin bày tỏ lòng biết ơn sâu sắc đến PGS TS Đỗ Năng Toàn — Phó Viện trưởng Viện Công nghệ thông tin, Đại học Quốc Gia Hà Nội đã tận tình hướng dẫn và giúp đỡ tôi trong quá trình làm luận văn tốt nghiệp.

Xin cùng bày tỏ lòng biết ơn chân thành tới các quý thầy, cô trong khoa Công nghệ thông tin — Học viện Công nghệ Bưu chính Viễn thông đã truyền đạt cho tôi những kiến thức bồ trợ, vô cùng có ích trong hai năm học vừa qua.

Cũng xin gửi lời cám ơn chân thành tới Ban Giám hiệu, Khoa Quốc tế và Đào tạo sau đại học — Học viện Công nghệ Bưu chính Viễn thông đã tạo điều kiện giúp

đỡ về thời gian, vật chất và tinh thần đề tôi hoàn thành được khóa học của mình.

Cuối cùng, tôi xin gửi lời cam ơn đến gia đình, bạn bè, những người đã luôn

bên tôi, động viên, khuyến khích và chia sẻ với tôi những kinh nghiệm học tập, nghiên cứu trong suốt khóa học.

Hà Nội, ngày 05 tháng 12 năm 2015Học viên

Bùi Quang Sum

Trang 3

1.1 Khái quát về thực tại ảO -¿- +52 e+EE+EEEEEE2EE2127171211211 2121.211 EEtyee 2

1.1.1 Thế nào là thực tại ẢO -c:25c5c+t2ExteEEttEEEtSEkerkrrtrxrsrkrerrrrrrrrerkree 2

1.1.2 Các đặc tính của thực tại ảO -c c1 kg kkkkkrrrzz 2

1.1.3 Các thành phan Chính trong thuc tai ẢO che, 3 1.1.4 Phân loại các hệ thống TAUC CAL GO SN 4 115 Ứng dụng CUG thựC ÍQÌ ẢO So TH HH key 4 1.1.6 Công cụ phát triển ứng dụng thực tại GO -©-¿©c<+cccccccccrresrerred 5

1.2 Va cham trong thực tại ảO cv HH Hy 5

1.2.1 Khái MiG VA CÌQHHN G0311 811111190311 v kg 1v ng 1 ke 5

1.2.2 Tâm quan trọng cua va chạm và xử lý va chạm trong thực tại ảo 6 CHƯƠNG II: MOT SO VAN DE TRONG XỬ LY VA CHẠM - 7

2.2.2 Xử lý các hiệu ứng méo mó, biến dạng sau khi va chạm - 28 CHƯƠNG III: UNG DUNG MO PHONG VA CHAM GIAO THÔNG 30

3.1 Bài toán đặt ra - - c1 n1 ngư 30

3.2 Phân tích lựa chọn công cụ phát r0 30

Z8 na Ô 30

3.2.2 3D Studio Max (3DS M@X) SG G5 2101111111115 11kg ven vn 31

3.2.3 Unity 38D voeccsscsssssssssssssvssssessssesessssssessssssseessssssvesssssuevessssseessesssesssssuusessseees 31

Trang 5

DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT

3D 3 Dimensions 3 chiéu

AABB Axis-Aligned Bounding Boxes | Hộp bao có các cạnh song song với

trục tọa độ

CAD Computer Aided Design Thiết kế nhờ máy tính CAM Computer Aided Manufacturing | Sản xuất nhờ máy tính

HMD | Head Mounted Display Thiết bị hién thị đội đầu

HW Hardware Phần cứng

I Imagination, Interactive, Tưởng tượng, tương tác, đắm chìm

OBB Oriented Bounding Boxes Hộp bao theo hướng của đối tượng

OpenGL | Open Graphics Library Một tiêu chuẩn kỹ thuật đồ họa

PC Persional Computer Máy tinh cá nhân

SW Software Phan mém

VR Virtual Reality Thuc tai ao

VRML | Virtual Reality Modeling Thực tế ảo mô hình hóa ngôn ngữ

Language

Trang 6

MỞ ĐẦU

Hiện nay, công nghệ thông tin có sự phát trién vượt bậc với tốc độ như vũ bão,

sự phát triển nhanh chóng ấy đã đem lại những thành tựu đáng kê cho nhiều lĩnh vực

trong cuộc sống.

Và công nghệ mô phỏng là một trong những thành tựu đó, nó mang lại một

phạm vi ứng dụng rộng lớn hơn và một tương lai rộng mở cho nhiều lĩnh vực Thực tại ảo thực chất là mô phỏng thế giới thực của con người vào máy tính, mà trong đó con người có thể tương tác và cảm nhận như trong thế giới thực.

Van đề va chạm thường là những van dé rất khó dé nghiên cứu trong thực tế như va chạm xe máy, ô tô hoặc có thể là tàu hỏa, tàu thủy, máy bay Những vấn đề

này tuy đã được nghiên cứu thử nghiệm trong thực tế nhưng còn rất nhiều hạn chế vì một số lí do, và còn rất nhiều trường hợp va chạm chúng ta muốn nghiên cứu mà chưa

thể thực hiện được vì chỉ phí quá lớn.

Từ những nhu cầu thiết thực trong cuộc sống và những thành quả đầy hứa hẹn mà thực tại ảo mang lại nên tôi đã chọn đề tài của luận văn là: “Xử lý va chạm trong

thực tại ảo và ứng dụng”.

Dé tài “Xử lý va chạm trong thực tại ảo và ứng dung” sẽ tìm hiểu và trình bay tông quan về va chạm, về các van đề phát hiện va cham trong thực tế và mô phỏng

chúng vào trong máy tính bao gồm: các khái niệm cơ bản liên quan đến va chạm và ứng dụng của nó, các phương pháp phát hiện va chạm giữa các đối tượng Đồng thời

mô phỏng tình huống va chạm giao thông trong thực tế.

Cấu trúc của luận văn gồm: phần mở đầu, phần kết luận và 3 chương với nội

dung cụ thê như sau:

Chương 1: Tổng quan về thực tại ảo và va chạm trong thực tại ảo

Chương 2: Một số vấn đề trong xử lý va chạm

Chương 3: Ứng dụng mô phóng va chạm giao thông

Trang 7

CHƯƠNG I: TONG QUAN VE THỰC TẠI AO VA VA

CHAM TRONG THUC TAI AO

1.1 Khái quát về thực tại ảo

1.1.1 Thế nào là thực tại ảo

Thực tại ảo được định nghĩa theo nhiều cách khác nhau, xét trên phương diện

chức năng thì có thể định nghĩa như sau: Thực tại ảo là một môi trường ba chiều được

phát sinh, tổng hợp và điều khiển thông qua máy vi tính nhằm mục đích mô phỏng

lại thế giới thực hoặc một thế giới theo trong tưởng tượng của con người Nó cho phép người dùng thông qua các thiết bị ngoại vi và bộ chuyên đổi tương tác với những sự vật, hành động của thế giới ảo mà như tương tác với các sự kiện, hành động của

thế giới thực.

Qua những phân tích trên, chúng ta có thé thấy định nghĩa của C Burdea và

P Coiffet về thực tại ảo là tương đối chính xác: VR — Thực tại ảo là một hệ thống

giao diện cấp cao giữa người sử dụng và máy tính Hệ thống này mô phỏng các sự vật và hiện tượng theo giời gian thực và tương tác với người sử dụng qua tông hợp

các kênh cảm giác Đó là ngũ giác bao gồm: thị giác, thính giác, xúc giác, khứu giác

và vị giác [3][7].

1.1.2 Các đặc tính của thực tai ao

Một hệ thống thực tại ảo phải có ba đặc tính sau: khả năng đắm chìm

(Immersion), tính tương tac (Interactive) va tính tưởng tượng (Imagination).

Hình 1.1 Ba đặc tính của một hệ thống thực tại ảo a Cảm giác đắm chìm (hnmersion)

Cảm giác đắm chìm: là một hiệu ứng tạo khả năng tập trung sự chú ý cao nhất một cách có chọn lọc vào chính những thông tin từ người sử dụng hệ thống thực tế

Trang 8

ảo Người sử dụng cảm thay mình là một phan của thé giới ảo, hòa mình lẫn vào thé

giới đó.

b Tính tương tác (Interactice)

Tinh tương tác: có hai khía cạnh của tính tương tác trong một thế giới ảo: sự du hành bên trong thế giới và động lực học của môi trường Sự du hành là khả năng của người dùng dé di chuyền khắp nơi một cách độc lập, cứ như là đang ở bên trong một môi trường thật Động lực học của môi trường là những quy tắc về cách thức mà

người, vật và mọi thứ tương tác với nhau trong một trật tự dé trao đổi năng lượng

hoặc thông tin.

c Tinh tưởng tượng (Imagination)

Các ứng dụng trong lĩnh vực đời sống do các nhà phát triển thực tai ảo thiết

kế, điều này phụ thuộc rất nhiều vào khả năng tưởng tượng của con người, đó chính

là đặc tính tưởng tượng (Imagination) của thực tại ảo Vì vậy, có thể coi thực tại ảo

là tông hợp cua ba yêu tô: dam chìm, tương tác, và tưởng tượng.

1.1.3 Cac thành phan chính trong thực tại ảo

HỆ THỐNG MÁY TÍNH ỨNG DỤNG

VR ENGINE APPLICATION

PHAN CUNG HỆ THONG THỰC TAI AO PHAN MEM

HARDWARE VRSYSTEM SOFWARE

Ỳ *MỘ HÌNH NÀY

THIẾT BỊ NHẬP XUẤT ểÀA Soeur CƠ SỞ DỮ LIỆU

vo & DATABASE

Hình 1.2 Các thành phan trong hệ thống thực tại ảo

Một hệ thông thực tại ảo tổng quát bao gồm 5 thành phần [3]: phan mém (SW), phan cứng (HW), mang liên kết, người dùng và các ứng dung.

a Phần cứng

Phần cứng của một hệ thống VR bao gồm:

o Máy tính (PC hay Workstation với cau hình đồ họa mạnh) o Các thiết bị đầu vào (Input devices).

o Các thiết bị đầu ra (Output devices).

Trang 9

b Phan mém

Phan mềm luôn là linh hồn của thực tai ảo cũng như đối với bất cứ một hệ thống máy tính hiện đại nào Phần mềm của bat kỳ hệ thống thực tại ảo nào cũng phải

bảo đảm các công dụng chính: tạo hình, mô phỏng và lưu trữ lại trong cơ sở dữ liệu

1.14 Phân loại các hệ thống thực tại ảo

Hệ thống thực tại ảo được phân ra 3 loại chính: hệ thống VR không nhập vai (Non — Immersive), hệ thống VR bán nhập vai (Semi — Immersive) và hệ thống VR nhập vai (Immersive) Một số cách phân loại khác dựa vào mức độ phức tạp hoặc phương thức hoạt động của hệ thống.

1.1.5 Ung dụng của thực tại ảo

a Quân sự

Mô phỏng đã được sử dụng dé dự báo, phân tích và lập kế hoạch cho các cuộc xung đột tiềm năng với độ chính xác mà công nghệ thế hệ trước không thé dat được.

b Y hoc

Việc xây dung các hệ thống giải phẫu giúp giải quyết được van dé khan hiếm

về mau vật cũng như giúp được sinh viên và giảng viên có thé thực hành, tương tác

ngay trên máy tính mà có cảm giác như đang thực hành trên những mẫu vật thực.

c Giáo duc

Một số trường đào tạo lái xe của Việt Nam hiện nay cũng đang sử dụng phần mềm mô phỏng tập lái xe ô tô 3D, cung cấp khả năng tương tác của người sử dụng

với môi trường mô phỏng, tạo cho người học lái có được cảm giác như lái xe thật, từ

đó tránh được các rủi ro khi điều khiển phương tiện.

d Thiết kế xây dựng

Khả năng cho phép khách hành tự do tham quan, khảo sát căn nhà của họ trong

tương lai theo nhiều góc độ và vi trí thực sự đem lại hiệu quả trực quan mang tinh

cách mạng trong lĩnh vực mang nhiều đặc điểm nghệ thuật này.

Trang 10

e Giải trí

Với sự phát triển của kỹ thuật mô phỏng người ta đã có thé xây dựng các bộ phim hoạt hình 3D, tạo dựng các kỹ xão điện ảnh, các cảnh quay sống động, chân

thật mà giảm bớt được rất nhiều thời gian và chi phí.

1.16 Công cụ phát triển ứng dụng thực tại ảo

a Các phan mềm xây dựng mô hình

Phần quan trọng nhất trong các hệ thống thực tại ảo chính là mô hình, mô hình mô tả, biểu diễn một đối tượng trong thế giới thực bao gồm hình dạng bề mặt và hoạt

động của đối tượng Hiện nay, có rất nhiều phần mềm tạo mô hình ba chiều như

Maya, 3Ds max, LightWare, b Các công cụ lập trình

Công cụ lập trình trong các ứng dụng thực tại ảo thường là các thư viện đồ họa

3D được xây dựng sẵn, miễn phí như DirectX, OpenGL, OpenSG, OpenSceneGraph.

1.2 Va chạm trong thực tại ảo1.2.1 Khái niệm va cham

Va chạm là một hiện tượng thường gặp trong đời sống hàng ngày va trong

khoa học kỹ thuật Nói đến va chạm, đơn giản có nghĩa là khi một vật va vào một vật khác Vậy, va chạm là một sự kiện riêng lẻ trong đó một lực tương đối mạnh tác động

vào từng vật, trong hai hoặc nhiều vật va chạm và trong một thời gian tương đối ngắn.

Ngoài ra, có thê nêu sự rõ ràng giữa các thời gian trước, trong và sau khi va chạm.

a Bién 1 của hệ kề

Trước Đang Sau

Hình 1.3 Sơ đồ động trình bày một hệ có va chạm đang xảy ra

Trang 11

1.2.2 Tam quan trọng của va cham và xử lý va chạm trong thực tại ảo

Như đã nói ở trên, va chạm là điều không thê tránh khỏi trong cuộc sống hàng ngày Đó có thé là những va chạm nhỏ như: những qua bi a, búa — dinh, cho tới

những va chạm mang tính chất nghiêm trọng như tai nạn giao thông.

Việc nghiên cứu các kỹ thuật va chạm và xử lý hậu va chạm trong các hệ thong thực tại ảo là rat cần thiết nhằm ứng dung dé mô phỏng các tình huống giao thông phục vụ cho mục đích tuyên truyền, trợ giúp người tham gia giao thông ý thức hơn khi tham gia điều khién phương tiện.

Trang 12

CHƯƠNG II: MỘT SO VAN ĐÈ TRONG XỬ LÝ VA CHAM 2.1 Phát hiện va chạm

Phát hiện va chạm là một trong những van dé trọng tam của mỗi hệ thông thực

tại ảo Mỗi hệ thống thực tại ảo đều phải có khả năng phát hiện khi nào thì có va chạm

xảy ra và xảy ra với những đối tượng nào để có những xử lý sau va chạm phù hợp.

Hầu hết các hệ thống thực tại ảo đều sử dụng phương pháp gần đúng dé phát hiện va chạm, phương pháp gần đúng hay được sử dụng là phương pháp dùng các hình bao quanh đối tượng [14] Đối với phương pháp phát hiện va chạm dựa vào hộp bao ta có hai kỹ thuật phô biến: sử dụng hộp bao có các cạnh song song với trục tọa

độ (Axis-Aligned Bounding Boxes — AABB) và sử dụng hộp bao theo hướng của đối

tượng (Oriented Bounding Boxes — OBB) Việc sử dụng hộp bao AABB được thực

hiện nhanh chóng nhưng cho sai số lớn còn sử dụng hộp bao OBB tuy phức tạp hơn

nhưng cho sai sô nhỏ hơn nhiêu.

2.1.1 Tính toán va chạm

2.1.1.1 Phương pháp dùng bao cầu (Bounding Sphere)

a Tim giao diém gitta mot tia va mat phang

Đề phát hiện va chạm chúng ta sử dụng một thuật toán đơn giản tạm gọi là lần

theo tia (ray tracing) Một tia được xác định bởi một điểm hay còn gọi là gốc và một

vector xác định hướng mà tia đó sẽ đi theo.

Phương trình của một tia có dạng:

PointOnRay = RayStart + t * Raydirection (2.1)

Trong do:

- tlaso thực, t €[0;«)

- PointOnRay: mot điểm thuộc tia

- RayStart: điểm gốc của tia

- Raydirection: hướng của tia

Theo phương trình (2.1) ở trên thì khi t= 0 thì PointOnRay chính là điểm gốc Với các giá trị khác của t thì PointOnRay chạy khắp tia PointOnRay, RayStart,

Trang 13

Raydirection là các đại lượng vector trong không gian R3 nhận các giá trị (x,y,z) Tiếp

theo chúng ta sẽ sử dụng tia dé biểu diễn và tính toán sự va chạm của khối cầu với

mặt phang và các khối cầu.

Phương trình mặt phăng biểu diễn thông qua vector có dạng :

XndotX=d (2.2)

Trong đó:

- Xn, X là các vector và d nhận giá trị thực

- Xn là pháp tuyén của mặt phẳng

- X là một điểm thuộc mặt phẳng đang xét

- _ đ là khoảng cách từ gốc của hệ toa độ Oxyz tới mặt phẳng

Theo phương trình (2.2), dé biểu diễn một mặt phăng trong không gian 3D hay Rề ta chỉ cần một điểm nằm trên mặt phẳng đó và một vector pháp tuyến tại điểm đó (Vector pháp tuyến là vector vuông góc với mặt phăng) Dé có thể xác định được

vector pháp tuyến của mặt phang ta chỉ cần xác định được hai vector không song song trong mặt phẳng đó Tích có hướng của hai vector này sẽ tạo thành vector pháp tuyến.

Tổng kết ta có được hai phương trình:

PointOnRay = RayStart + t * Raydirection

Xn dot X=d

Nếu tia giao với đường thăng tai điểm nao đó thì điểm đó thì điểm đó thỏa

mãn cả hai phương trình (2.1) và (2.2) Vậy từ (2.1), (2.2):

Xn dot PointOnRay = d

(Xn dot RayStart) + t * (Xn dot Raydirection) = d

Giải phương trình với an t ta có :

_ d— Xndot RayStart

Xn dot Raydirection

Thay d vào ta được :

_ Xndot PointOnPLANE — Xn dot RayStartXn dot Raydirection

t

Trang 14

Cuối cùng:

Xn dot (PointOnPLANE — RayStart)Xn dot Raydirection

Ta nhận thay rang t chính là khoảng cách từ điểm gốc (gốc của tia) cho đến

giao điểm của tia với mặt phăng Do vậy thông qua phương trình vector ta nhận được

t, từ đó có thé tìm thấy giao điểm của tia với mặt phăng b Tim giao điểm giữa hai khối cau

Hình 2.] Hướng di chuyển của hai quả câu

Theo Hình 2.1, hướng chuyên động của hai quả bóng trên (ball; và ball›) thì chắc chắn là hai quả bóng đó sẽ va chạm với nhau Nhưng thực tế thì chưa chắc như vậy là bởi vì ở đây chúng ta quên mat yếu tô thời gian Gọi C là giao điểm của rị với

ra (ở đây chưa nói C là điểm giao của ball; với balla) Nếu xét đến yếu tố thời gian thì

tại thời điểm t¡ quả bóng ball; chuyển động qua điểm C, tại thời điểm ta qua bóng balla chuyển động qua điểm C Ta hoàn toàn có thé cho rằng tị khác tz và như vậy thì ball; không va chạm với ball2 Đó chính là van đề chính ta cần giải quyết.

Các thông số cần thiết dé tính toán giao điểm của hai khối cầu đó là: điểm dau, điểm cuối, thời gian, vận tốc (bao gồm hướng và tốc độ) của khối cầu Đề tính được điểm giao thì thời gian (Time Step) lại được chia thành các khoảng nhỏ hơn và chúng ta sẽ thực hiện việc di chuyên khối cầu trong mỗi khoảng thời gian đó bang cách sử

dụng đại lượng vận tốc và kiểm tra sự giao nhau trong mỗi khoảng thời gian đó Khi có bất cứ giao điểm nào được tìm thấy (cũng có nghĩa là khối cầu này sẽ “xuyên” một phần của nó vào khối cầu khác), chúng ta sẽ lấy vị trí của khối cầu ngay trước

khi khôi câu đó xuyên vào khôi câu khác làm vi trí giao diém.

Trang 15

phan 2 qua bóng sẽ "xuyên "

vào nhau tai mọt thời điểm

—~TM nào đó

Hình 2.2 Thời diém hai quả câu sẽ “xuyên ” nhau

Chúng ta hoàn toàn không muốn hai khối cầu xuyên vào nhau như Hình 2.2 Do vậy chúng ta phải lấy vị trí của khối cầu ngay trước khi chúng xuyên vào nhau làm vị trí giao điểm Khoảng chia thời gian (Time Step) càng nhỏ thì độ chính xác

càng cao Vấn đề tiếp theo chúng ta cần phải giải quyết đó là sẽ xảy ra va chạm trong khoảng giữa mỗi khoảng thời gian (Time Step) mà ta xét Time Step chính là mỗi

khoảng thời gian ta thực hiện di chuyên khối cầu từ vị trí hiện tại dọc theo hướng của vector vận tốc.

- Dst = khoảng cách giữa điểm bắt dau và điểm kết thúc

- Dsc = khoảng cách từ điển bắt đầu và điểm xảy ra va chạm

[Điểm va cham] = [Vị trí bắt đầu] + [Vận tốc] * T‹

2.1.1.2 Kỹ thuật phát hiện va chạm dựa vào hộp bao AABB (Axis-AlignedBounding Boxes)

a Định nghĩa hộp bao AABB

AABB là hộp bao có dạng hình hộp chữ nhật có các cạnh (trục) song song với

các trục tọa độ tương ứng và bao quanh lấy vật thê.

Trang 16

Hình 2.3 Hộp bao AABB của đối tượng

Một hộp bao AABB bao gồm một tâm C và 3 hệ số ao, ai, a2 tương ứng là độ

dài theo ba trục tọa độ của hình hộp.

b Phát hiện va chạm giữa hai hộp bao AABB

Cho hai hộp bao AABB được xác định bởi [Ci, ao, a1, a2] và [C2, bọ, bị, ba] với

giả sử ai > 0, bị > 0, i,j = 0,1,2 Đề kiểm tra va chạm, ta cần xác định tọa độ cao nhất

và thấp nhất của mỗi hộp bao Ký hiệu (Xmint, Ymint, Zmint) VỀ (Xmaxi, Ymaxi, Zmaxi) lần

lượt là tọa độ thấp nhất và cao nhất của hộp bao thứ nhất (tâm là C¡).

Tương tự ta tính được (Xmin2, Ymin2, Zmin2) Va (Xmax2, Ymax2, Zmax2) lần lượt là tọa độ thấp nhất và cao nhất của hộp bao có tâm Ca Hai hộp bao AABB có tâm C¡ và Co được gọi là va chạm với nhau nếu thỏa mãn một trong bốn điều kiện sau:

VY (Xminl, Ymint, Zmint) € [(Xmin2, Ymin2, Zmin2), (Xmax2, Vmax2; Zmax2)]Y (Xmaxi, Ymaxl, Zmaxt) € [(Xmin2, Ymin2, Zmin2), (Xmax2, Ymax2, Zmax2)]

Y (Xmin2, Ymin2, Zmin2) € [(Xmin2, Ymin2, Zmin2), (Xmax2; Ymax2, Zmax2)]v (Xmax2, Ymax2, Zmax2) = [(Xmin2, Ymin2, Zmin2), (Xmax2, Ymax2, Zmax2) |

Trang 17

2.1.1.3 Kỹ thuật hộp bao theo hướng OBB (Oriented Bounding Boxes)

a Định nghĩa hộp bao OBB

OBB thực chất là hộp bao AABB nhưng trục có hướng bắt kỳ Hộp bao OBB đã khắc phục được nhược điểm của hộp bao AABB đó là giảm không gian trống giữa

Một hình hộp OBB bao gồm một tâm C, ba vector A,,A,,A,chi hướng của

hình hộp và 3 hệ số ao > 0, ai > 0, a2 > 0 tương ứng với kích thước của hình hộp.

Khi đó, § đỉnh của hình hộp sẽ được xác định như sau:

2 >

C+> s,a, * Ai Is;|=1.¡= 0.1.2

Kỹ thuật phát hiện hộp bao theo hướng được chia làm hai mức [9][ 17] Ở mức một, là kiểm tra nhanh xem có va chạm nào xảy ra hay không Nếu không thì hệ thống vẫn làm việc bình thường, ngược lại nếu hệ thống phát hiện ra có ít nhất một va chạm xảy ra thì sẽ chuyên sang mức hai, đó là tìm chính xác vị trí va chạm.

b Kiểm tra nhanh va chạm giữa hai hộp bao OBBs

Cho hai hình bao OBB xác định bởi các thông số sau: OBB đầu tiên có tâm

Cụ, các trục A,,A,,A, và các khoảng ao, ai, a2 OBB thứ hai có tâm C,, các trụcB,,B,,B, và các khoảng bo, bị, bạ Ta thấy rang hai OBB tiếp xúc nhau (không cắt

nhau) chỉ có thể là một trong 6 trường hợp sau: mặt — mặt, mặt — cạnh, mặt — đỉnh,

cạnh — cạnh, cạnh — đỉnh, đỉnh — đỉnh Do vậy, tập các trục cô lập tối đa là 15 trục

Trang 18

sau: 3 trục chỉ hướng của hộp bao thứ nhất (A, ), 3 trục chi hướng cua hộp bao thứ

hai (B ;) và 9 trục tạo bởi tích có hướng của một trục thuộc hộp bao thứ nhất và một

trục thuộc hộp bao thứ hai (A, ® B,).

Gọi trục cô lập có vector chỉ phương V và đi qua tâm Co của hộp bao thứ nhất,

nó có phương trình như sau: d= C, + t*V Trong đó t là tham số, V là một trong các

thành phần A,,B, hoặc A, ®B, với i,j = 0,1,2 Gọi P là một điểm bat kỳ, hình chiếu của P lên đường thăng d theo gốc C, là đoạn thắng CoH xác định như sau (Hình

Hình 2.5 Hình chiếu của điểm P lên đường thắng d

Nhu vậy khi chiếu 8 đỉnh của hộp bao thứ nhất lên trục cô lập d với gốc Co thì sẽ thu được 4 cặp đoạn thang có độ dai băng nhau năm về hai phía so với Cọ (Hình 2.6), độ dài của mỗi đoạn thắng được xác định như sau:

Trang 19

Như vậy, khoảng cách nhỏ nhất chứa 8 đoạn thăng (2.3) sẽ có tâm là Co và

bán kính ro được xác định như sau:

Tuong tu, ta xac dinh hinh chiếu 8 đỉnh của hộp bao thứ 2 lên trục cô lập d với

gôc C¡ như sau:

8 đoạn thang này được nhóm thành 4 cặp đối xứng nhau qua C¡ Do vậy,

khoảng cách nhỏ nhất chứa 8 đoạn thắng (2.4) sẽ có tâm là C¡ và bán kính R¡ được

Hai khoảng cách trên sẽ không giao nhau nếu:

CọCi >ro+ri oO IV| * CoCi > |V| # mo + |V| # rị & R>Ro+Ri (2.5)

Trong đó: R = CoCi * ll

Trang 20

Hình 2.7 Kết quả chiếu hai hình hộp lên trục cô lập d

Ta có bảng các giá tri cho R, Ro, Ri như sau:

A, ®B, al 6;;| +a2|C¡; bọ Cại| + bilcos C)-A,.D —c,,.A,.D

A, @B, 0 |Cy| + 82|Coo bife,,| + bz|c,, Cy9-Ay-D — Cy-Ay-D

A, ® B, ag|c,,| + a2|co,| bo|c,z| + b2|c, C51-Ay-D — cạ,.Ä,.D

A, @B, ao cạ;| + A2lCo; bolc| + bile; C2; Ay Dc, A, D

A, ®B, 40|C19| 31|Coo bilc;;| + be cại| Co9-Aj-D — cịo.Âu.D

A, ® B, 40|C¡¡| + alco, bolc;;| + ba C9| Cọi Ay D- CA, D

A, ®B, a0|c¡z| + 8I|£o; bole;,| + bilc›s| cạ;.Ai.D— €,-Ap-D

Bảng 2.1 Bảng các giá trị R, Ro, va Ri được tinh toán trước

Ngày đăng: 08/04/2024, 00:57

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w