Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

68 849 2
Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Đ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

Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Luận văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng MỤC LỤC MỞ ĐẦU 3 1.1. Môi trường thực tại ảo (Virtual Reality) 4 1.2. Tầm quan trọng của việc tìm hiểu phát hiện va chạm trong môi trường thực tại ảo 5 1.3. Một số khái niệm cơ bản .5 1.3.1. Khối bao (Bounding volumes) 5 1.3.2. Xây dựng các khối bao cơ sở .9 Chương 2 : 12 CÁC PHƯƠNG PHÁP PHÁT HIỆN VA CHẠM 12 2.1. Phương pháp dùng bao cầu - Bounding Sphere .12 2.1.1. Phát hiện va chạm 12 2.1.2. Xử lý va chạm 17 2.2. Kỹ thuật sử dụng hộp bao phát hiện va chạm 20 2.2.1. Sự phân tách giữa các OBB .21 2.2.2. Kiểm tra sự va chạm giữa các OBB 23 2.2.3. Tìm va chạm giữa 2 OBBs 24 2.3. Phương pháp Elipsoid .28 2.3.1. Không gian vector sự tịnh tiến các vật thể trong không gian 28 2.3.2. Phát hiện va chạm 30 2.3.3. Xử lý va chạm 36 2.4. Phát hiện va chạm giữa các đối tượng cơ sở 42 2.4.1. Phát hiện va chạm giữa hộp bao tam giác (Box – Triangle) 42 2.4.2. Phát hiện va chạm giữa 2 tam giác (Triangle-Triangle) .53 Chương 3: 67 PHẦN THỰC NGHIỆM 67 KẾT LUẬN 68 TÀI LIỆU THAM KHẢO: 69 Trang 1 Luận văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng MỞ ĐẦU Ngày nay, sự phát triển của máy tính đã đem đến cho con người những cơ hội mới để nghiên cứu các vấn đề của thực tế. Bằng việc xây dựng lên môi trường thực tại ảo, con người có thể phỏng thế giới thực vào máy vi tính, phỏng những sự kiện có thật hoặc giả định trong thực tế vào vi tính để tìm hiểu - ở đây chúng tôi chỉ nói đến một trường hợp đó là chính là phỏng các va chạm trong thực tế, để từ đó tìm ra giải pháp thích hợp mà không cần phải kiểm nghiệm bằng thực tế. Vấn đề về va chạm thường là những vấn đề rất khó nghiên cứu trong thực tế, chẳng hạn như va chạm giữa các ôtô, xe máy hay lớn hơn nữa là tàu hỏa, máy bay v.v…Những vấn đề này đã được nghiên cứu thử nghiệm trong thực tế nhưng còn rất nhiều hạn chế vì nhiều lý do, còn rất nhiều trường hợp va chạmchúng ta cần nghiên cứu nhưng chưa thể thực hiện được. Một vấn đề khác đó chính là chi phí cung cấp cho việc thử nghiệm trên thực tế là quá lớn. Chính vì vậy giải pháp sử dụng máy tính để phỏng các vụ va chạm này là rất cần thiết. Đây là một vấn đề hết sức cần thiết cho cuộc sống của con người. Vấn đề phát hiện va chạm còn được ứng dụng rất nhiều trong các lĩnh vực khác như: y học, các bộ phỏng vật lý hay trong một lĩnh vực có nhu cầu rất lớn đó là giải trí v.v Phát hiện va chạm được ứng dụng rất nhiều trong các môi trường thực tại ảo. Khoá luận này nhằm mục đích nghiên cứu, tìm hiểu va chạm chung giữa các đối tượng trong thực tế được phỏng vào máy tính, hướng giải quyết sau va chạm (hậu va chạm). Khoá luận gồm có 3 chương: • Chương 1: Giới thiệu chung về môi trường thực tại ảo các khái niệm liên quan khi nghiên cứu phát hiện va chạm • Chương 2: Giới thiệu một số phương pháp phát hiện va chạm phổ biến. • Chương 3: Xây dựng ứng dụng va chạm ôtô. Trong quá trình thực hiện khoá luận tốt nghiệp này, tôi đã nhận được nhiều sự giúp đỡ của các thầy cô giáo, bạn bè đồng nghiệp gia đình. Tôi xin cảm ơn sự giúp đỡ nhiệt tình của thầy Đỗ Năng Toàn, là người trực tiếp hướng dẫn đề tài tốt nghiệp của tôi, anh Phạm Thế Anh cùng các anh chị trong Viện Công nghệ thông tin đã giúp tôi hoàn thành khoá luận này, tôi cũng xin chân thành cảm ơn các bạn bè đồng nghiệp, người thân trong gia đình đã tạo điều kiện, động viên tôi trong quá trình làm đồ án. Vì điều kiện thời gian không có nhiều, kinh nghiệm còn hạn chế nên không tránh khỏi thiếu sót. Tôi mong nhận được ý kiến đóng góp của các thầy cô giáo các đồng nghiệp. Trang 2 Luận văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng Chương 1: TỔNG QUAN VỀ VA CHẠM Phát hiện va chạm (Collision detection) là tiến trình giải quyết vấn đề có hay không sự va chạm giữa các đối tượng trong môi trường mà các đối tượng đó tồn tại. Sự va chạm này có thể giữa các đối tượng cùng loại hoặc giữa các đối tượng khác nhau, va chạm với các đối tượng tĩnh (ví dụ như : nền nhà, tường nhà, mặt đường v.v .) hoặc va chạm với các đối tượng động (ví dụ như : ôtô, máy bay v.v .). Định nghĩa [collision detection] : Cho một không gian U với một tập các đối tượng O, giải thuật phát hiện va chạm sẽ cho biết sự va chạm giữa các cặp đối tượng từng đôi một C p ⊂ O x O x R 3 với mọi đối tượng o 1 ,o 2 cho biết các điểm va chạm giữa chúng p 1,2 ∈ R 3 . Phát hiện va chạm chỉ là một trường hợp đặc biệt trong môi trường giả lập vật lý (được thể hiện vào máy tính). Thực chất ở đây chúng ta chỉ tìm hiểu sự va chạm giữa các đối tượng hình học thể hiện các đối tượng (sau này ta gọi đó là các hình bao). Do các đối tượng trong đời sống có hình dạng khá phức tạp nên ta sẽ đưa chúng về những vật thể có hình dạng tương đương đơn giản hơn (mô phỏng vào máy tính), thuật toán phát hiện va chạm chủ yếu thao tác trên các đối tượng này chúng ta sẽ sử dụng môi trường vật lý giả lập nếu cần thiết – Môi trường thực tại ảo. 1.1. Môi trường thực tại ảo (Virtual Reality) Có nhiều khái niệm khác nhau vể thực tại ảo xong một cách chung nhất chúng ta có thể định nghĩa thực tại ảo 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 điều khiển thông qua máy vi tính nhằm mục đích 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 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. Ví dụ người dùng có thể dich chuyển một vật trong thế giới ảo, hoặc có thể cảm nhận được một vật khi chạm vào nó vv… Trong đó thiết bị ngoại vi sẽ làm nhiệm vụ chuyển những hoạt động của người sử dụng vào bộ chuyển đổi từ bộ chuyển đổi sau đó bộ chuyển đổi sẽ chuyển những tín hiệu này thành các tương tác vào môi trường ảo, đồng thời môi trường cũng chuyển những tác dụng của nó đến bộ chuyển đổi bộ chuyển đổi chuyển đến các thiết bị ngoại vi, sau đó các thiết bị ngoại vi sẽ tác động đến người sử dụng. Vì vậy người sử dụng sẽ có khả năng tương tác với môi trưởng ảo như là tương tác trên chính môi trường thực. Ngoài thuật ngữ thực tại ảo (virtual reality) người ta cũng hay đề cập tới thuật ngữ thế giới ảo (virtual world). Thực chất đây là hai khái niệm tương đồng có điều thuật ngữ hướng tới môi trường, không gian ảo mà trong không gian này những người sử dụng có thể Trang 3 Luận văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng tương tác với các đối tượng của không gian ảo này, thậm chí những người sử dụng này có thể tương tác với nhau trong không gian đó. Nói chung, các hệ thống thực tại ảo phải xử lý mội khối lượng lớn thông tin (đa phần là các thông tin của các đối tượng 3D do đó tốn bộ nhớ đòi hỏi thời gian xử lý là thời gian thực), vì thế nó đòi hỏi một lượng tài nguyên bộ nhớ RAM lớn bộ xử lý cùng các thiết bị vào ra có tốc độ cao. Vì vậy mặc dù bắt đầu nghiên cứu từ khá lâu, xong trong một số năm gần đây thực tại ảo mới có được sự phát triền mở rộng ứng dụng đáng kể. Thực tại ảo có rất nhiều ứng dụng trong thực tế như : khoa học quân sự, quốc phòng, Giáo dục đào tạo, y học, thiết kế, khoa học cơ bản, thương mại du lịch, giải trí v.v… 1.2. Tầm quan trọng của việc tìm hiểu phát hiện va chạm trong môi trường thực tại ảo Như đã nói ở trên, môi trường thực tại ảo nhằm phỏng thế giới thực hoặc thế giới theo sự tưởng tượng của con người vào máy vi tính. Trong thế giới thực tồn tại rất nhiều các đối tượng, các đối tượng này có các hành vi của chúng. Chính vì vậy để môi trường thực tại ảo phỏng được thực tế thì các đối tượng trong môi trường này cũng phải có các hành vi như trong thế giới thực. Chính vì vậy ta cần nghiên cứu các phương pháp để phỏng các hành vi này, phỏng sự tương tác giữa các đối tượng trong môi trường thực tại ảo hay nói khác đi chính là nghiên cứu việc phát hiện va chạm giữa các đối tượng trong môi trường… 1.3. Một số khái niệm cơ bản Dưới đây là một số khái niệm thường dùng : 1.3.1. Khối bao (Bounding volumes) Như đã nói ở trên, ta thấy rằng các đối tượng trong thực tế thường có hình dạng rất phức tạp, nếu ta sử dụng trực tiếp đối tượng đó thì rất khó có thể áp dụng vào thuật toán . Chính vì vậy ta cần phỏng đối tượng đó bằng một đối tượng khác đơn giản hơn, từ đó sinh ra khái niệm khối bao (bounding volume). Khối bao (BV) đơn giản chỉ là một khối hình học bao vừa đối tượng cần thao tác. Khối bao càng bao vừa khít đối tượng thì thuật toán sẽ càng chính xác. Các khối bao nên là các khối hình học đơn giản. BV được sử dụng hầu như trong tất cả các cơ chế phát hiện va chạm hiện nay. Phần lớn các thuật toán phát hiện va chạm đều sử dụng đến chúng bởi vì nó có xu hướng làm giảm độ phức tạp của thuật toán. Có rất nhiều loại BV khác nhau, mỗi loại có những điểm mạnh điểm yếu riêng. Có thể phân BV thành 2 loại đó là Bounding Box (BB - hộp bao) Bounding Sphere (BS - cầu bao). BB thường có 2 loại đó là loại hướng theo trục toạ độ loại hướng bất kỳ (Axis – Oriented), loại này được xác định bởi vị trí 2 đỉnh của hộp, còn BS được xác định bởi tâm bán kính. Trang 4 Luận văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng Hình 1.3.1: Bounding Box, Bounding Sphere những đặc tính của chúng Có thể liệt kê các loại BV như sau :  Khối bao cầu – Bounding Sphere  Hộp bao theo trục – AABB (Axis Aligned Bounding Box)  Hộp bao định hướng – OBB (Oriented Bounding Box)  Hộp bao dạng đa diện lồi – k-Dop Ta sẽ lần lượt định nghĩa các khối bao này. a. Khối bao hình cầu (Bounding spheres) - khối bao cầu. Bounding spheres là các khối bao có dạng hình cầu bao lấy đối tượng. Được xác định bởi 4 giá trị : toạ độ tâm C(x c , y c , z c) bán kính r. Khối bao dạng này rất dễ tạo ra rất đơn giản trong các thao tác kiểm tra va chạm. Nói là dễ dàng kiểm tra va chạm là bởi vì khi đối tượng quay hay chuyển động thì hình dạng, hướng của hình cầu đều không bị thay đổi, hình cầu không bị tác động khi vật thể tự quay. Hình cầu không phụ thuộc vào trục. Hình 1.3.1a1: Bounding Sphere Ta cũng có thể thay thế các hình bao cầu bởi các khối ellipsoid. Hình bao cầu chỉ là trường hợp riêng của hình bao ellipsoid. Tuy nhiên, hình bao cầu lại có rất nhiều nhược điểm. Nó thường biểu diễn không chính xác hình dạng các vật thể nếu như các vật thể này không có dạng khối cầu, đặc biệt khi hình dạng của vật thể có dạng dẹt, hoặc dài thì càng không chính xác. Chính vì vậy thuật toán sẽ không được tối ưu. Khối bao này tạo ra nhiều không gian trống giữa vật thể khối cầu. Rất khó hợp nhất 2 hay nhiều BS loại này bởi vì sẽ tạo ra sai số rất lớn. Hình 1.3.1b2: Hợp nhất kiểm tra va chạm giữa 2 Bounding Sphere Trang 5 Luận văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng b. Axis – Oriented Bounding Box Trong không gian 3 chiều, một axis – oriented bounding box được xác định bởi 6 giá trị của các đỉnh có toạ độ lớn nhất (x max , y max , z max) nhỏ nhất (x min , y min , z min ). Loại BV này rất dễ tạo ra , dễ hợp nhất lại với nhau thuận tiện cho việc phát hiện va chạm. Lợi thế lớn nhất của loại BV này là xử lý nhanh, tuy nhiên không chính xác cho lắm. Hình 1.3.1b: Hợp nhất kiểm tra va chạm giữa 2 Axis-Oriented Bounding Box • Hộp bao theo trục toạ độ - AABB (Axis Aligned Bounding Box) 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 toạ độ tương ứng bao lấy vật thể. Hộp bao này rất đơn giản, dễ tạo ra thao tác trong kiểm tra va chạm cũng rất dễ dàng. Tuy nhiên hộp bao loại này cũng tạo ra nhiều khoảng trống giữa vật thể hộp bao. Khi vật thể không nằm song song với các trục toạ độ có dạng dài thì khoảng trống này càng lớn. Hình 1.3.1b1: AABB • Hộp bao có hướng – OBB (Oriented Bounding Box) OBB là hộp bao AABB nhưng trục có hướng bất kỳ. OBB có ưu điểm hơn AABB đó là giảm không gian trống giữa vật thể hộp bao. Tuy nhiên việc tạo ra thao tác trên hộp bao loại này phức tạp hơn loại AABB nhiều. Tuy nhiên người ta vẫn dùng loại hộp bao này nhiều hơn vì nó không đến độ quá phức tạp. Loại hộp bao này bao khá vừa các dạng vật thể. Tuy nhiên với các vật thể có nhiều các đỉnh cao như hình bên thì rõ ràng chưa phải tối ưu. Hình 1.3.1b2: OBB c. Các dạng hộp bao khác Có rất nhiều dạng BV phức tạp khác được dùng trong một vài trường hợp đặc biệt. Để tạo ra chúng đòi hỏi rất nhiều các thông số. Tuy nhiên càng phức tạp thì càng làm giảm được khoảng không gian trống giữa đối tượng hộp bao. Sự lựa chọn phụ thuộc rất nhiều vào hình dạng của vật thể, chẳng hạn như nếu vật thể có dạng khối dài thì giải pháp có thể chọn là khối bao cầu (bounding sphere) hoặc khối bao trụ (bounding cylinder). Trang 6 Luận văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng Hình 1.3.1c: Hộp bao dạng đa diện lồi Hộp bao dạng da đa diện lồi (k-Dop) Với hộp bao dạng này ta hạn chế được rất nhiều khoảng không gian trống giữa vật thể hộp bao. Tuy nhiên việc tao ra hộp bao dạng này đôi khi quá phức tạp (phức tạp nhất) việc thao tác trên chúng mất quá nhiều công đoạn. Nó chỉ được sử dụng đối với các chương trình cần độ chính xác cao. Đối với các chương trình nhỏ yêu cầu tốc độ thì không nên chọn hộp bao dạng này. Thông thường, người ta thường giới hạn số mặt hay số cạnh của đa diện tới một giá trị nào đó (chẳng hạn k = 5,6,7 .) tuỳ thuộc vào từng ứng dụng cụ thể. Theo trên ta thấy rằng để giảm khoảng không gian trống thì hộp bao tạo ra sử dụng càng trở nên phức tạp (xem biểu đồ). Hình 1.3.1c1: Độ phức tạp trong tính toán đối với các hộp bao Tiếp theo ta sẽ tìm cách xây dựng các hộp bao trên (tạm gọi chung là hộp bao) để có thể dùng được trong các thuật toán sẽ được sử dụng: Trang 7 Luận văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng 1.3.2. Xây dựng các khối bao cơ sở a. Xây dựng hộp bao AABB: Xây dựng hộp bao loại này khá đơn giản, hộp bao này được tạo bởi 2 điểm có toạ độ nhỏ nhất lớn nhất của vật thể như hình vẽ 1.3.2a: Hình 1.3.2a: Hộp bao AABB b. Xây dựng hộp bao có hướng OBB Việc xây dựng hộp bao OBB có vẻ phức tạp hơn nhiều so với xây dựng hộp bao AABB. Trước hết ta tìm đa diện lồi bao vật thể (bằng cách mở rộng các mặt phẳng trên vật thể). tiếp theo ta phân chia các mặt của đa diện thành các tam giác. Giả sử sau bước này ta được n tam giác với các định lần lượt là : p k , q k , r k Diện tích của mỗi tam giác là a k , vậy ta có tổng diện tích là : ∑ − = = 1 0 n k kH aa Gọi trọng tâm của tam giác thứ i là m i = (p i + q i + r i) /3  Trọng tâm của đa diện lồi m H được cho bởi công thức sau; ∑ − = = 1 0 1 n k kk H H ma a m Sử dụng công thức trên ta được một ma trận C để từ đó xác định được vector định hướng cho 8 cạnh của OBB là: [ ] ( )       −         +++== ∑ − = jHiH n k jkikjkikjkikjkik k H ij mmrrqqppmpm a a cC ,, 1 0 ,,,,,,,, 12 1 c. Xây dựng khối bao hình cầu – khối cầu bao (BS: Bounding Sphere) Cách tạo đơn giản : - Ta dễ dàng tạo được hộp bao AABB như hình bên - Lấy tâm của hộp bao AABB làm tâm của hinh cầu. - Chọn đường kính của hình cầu bằng độ dài đường chéo của hộp bao AABB Với cách tạo đơn giản này cho ta một khối bao hình cầu không được tối ưu cho lắm. Tuy nhiên cách này tương đối đơn giản, dễ dàng thực hiện. Ta hãy xem một phương pháp cải tiến của phương pháp nêu trên: - Lấy tâm của khối cầu là tâm của hộp bao AABB - Duyệt tất cả các đỉnh của đối tượng - Tìm đỉnh mà khoảng cách từ tâm khối cầu đến đó là lớn nhất lấy khoảng cách đó làm bán kính của hình cầu Trang 8 Luận văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng Với phương pháp này thì hạn chế được khoảng không gian trống hơn phương pháp trên, tuy nhiên cần phải thực hiện nhiều phép toán so sánh tìm kiếm. Qua 2 phương pháp xây dựng nhanh BS ở trên ta thấy rằng giải pháp trên là không phải tối ưu. Rõ ràng cả 2 phương pháp đều tạo ra những khoảng không gian trống quá lớn. Chúng ta cần tìm ra giải pháp hạn chế được khoảng không gian trống càng nhiều càng tốt. Giải pháp tối ưu nhất được trình bày như sau: Giả sử S là một tập các đỉnh của một đối tượng (hay đơn giản S là tập các điểm). Với tất cả các đỉnh V thuộc tập S ta thực hiện các bước sau: Bước 1 : Tìm tất cả các đỉnh V max là đỉnh có toạ độ lớn nhất theo các trục toạ độ (x,y,z) Bước 2 : Tìm tất cả các đinh V min là đỉnh có toạ độ nhỏ nhất theo các trục toạ độ (x,y,z) Bước 3 : Chọn ra cặp đỉnh V min , V max sao cho khoảng cách giữa chúng theo các trục toạ độ là lớn nhất. Bước 4 : Chọn tâm C của khối cầu là trung điểm của vector V max - V min Bước 5 : Chọn bán kính của khối cầu bằng một nửa độ dài vector V max - V min Trang 9 Luận văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng Bước 6 : Duyệt tất cả các đỉnh còn lại, gọi d là khoảng cách từ đỉnh đang xét tới tâm của khối cầu. Nếu một đỉnh nào đó nằm ngoài khối cầu thì ta di chuyển tâm C của khối cầu một khoảng (d+r)/2 chọn bán kính mới của khối cầu là (d+r)/2 Khi đã duyệt tất cả các đỉnh thì chắc chắn rằng khối cầu đã bao tất cả các đỉnh (hay các điểm). Trang 10 [...]... tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng Chương 2 : CÁC PHƯƠNG PHÁP PHÁT HIỆN VA CHẠM Chúng ta cần giải quyết 3 câu hỏi chính trong việc phát hiện va chạm đó là: có hay không , khi nào ở đâu :  Đối với 2 đối tượng bất kỳ có xảy ra hay không sự va chạm giữa chúng (bằng việc kiểm tra sự va chạm giữa các đối tượng hình học đơn giản) ?  Nếu xảy ra va chạm thì chúng sẽ va chạm vào thời điểm... trên chúng ta có thể tìm ra chính xác điểm va chạm, Vector pháp tuyến tại điểm va chạm thời gian xảy ra va chạm nếu như có va chạm giữa các đối tượng Để giải quyết vấn đề sau va chạm một cách đúng đắn chính xác, ta phải áp dụng các định luật vật lý Nói chung, khi một đối tượng va chạm với một đối tượng khác hay một bề mặt, một cách khách quan thì hướng chuyển động của đối tượng sẽ thay đổi (đây... ra false trong trường hợp ngược lại Không có thông tin thêm nào được cung cấp về vị trí xảy ra va chạm (có thể va chạm ở nhiều điểm) Trong trường hợp va chạm giữa các đối tượng tĩnh, vùng va chạm có thể được tính toán hơi khó Đây là lĩnh vực tính toán của các đối tượng cứng Đối với hệ thống động, các đối tượng chuyển động thì phải khởi tạo ban đầu không giao nhau kiểm tra giao nhau trong suốt... Điểm va chạm sẽ được tính bằng cách nhân Tc với vận tốc hiện tại cộng với vị trí điểm bắt đầu: [Điểm va chạm] = [Vị trí bắt đầu] + [Vận tốc]*Tc 2.1.2 Xử lý va chạm a Va chạm với đối tượng tĩnh Giải quyết vấn đề phản hồi sau va chạm với các đối tượng tĩnh (như mặt phẳng, khối trụ) cũng không kém phần quan trọng như việc kiểm tra phát hiện va chạm Sử dụng các thuật toán hàm chức năng đã được mô. .. cần tìm Ngược lại ta sẽ lấy một trong 2 đỉnh gần nhất của cạnh ứng với đường vuông góc đó: Trang 34 Luận văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng Hình 2.3.2d2: Kiểm tra điểm va chạm xác nhận điểm va chạm e Va chạm xảy ra ? Qua 4 bước ở trên chúng ta đã tính được : - Khoảng cách tới điểm va chạm (nếu có) - Điểm va chạm trên mặt cầu - Điểm va chạm trên tam giác Trước hết ta thấy rằng va chạm. .. các va chạm mang tính chất đàn hồi (2 vật không “dính” vào nhau sau va chạm) 2.1 Phương pháp dùng bao cầu - Bounding Sphere Trong phần này ta sẽ lần lượt xét một số thuật toán phát hiện va chạm, đồng thời giải quyết thêm vấn đề sau va chạm Ta sẽ sử dụng các khối bao thay cho các đối tượng cần thể hiện.Từ những thuật toán riêng cho từng đối tượng ta sẽ đi đến một thuật toán chung cho tất cả các đối tượng. .. tìm khoảng cách giữa điểm đầu điểm cuối Từ thủ tục tìm va chạm chúng ta sẽ nhận được khoảng cách từ điểm bắt đầu tời điểm va chạm Nếu khoảng cách này nhỏ hơn khoảng cách từ điểm bắ đầu đến điểm cuối thì sẽ có một va chạm Để tính toán chính xác thời gian xảy ra va chạm chúng ta chỉ cần giải một phương trình đơn giản sau Đặt:  Dst = khoảng cách giữa điểm bắt đầu điểm kết thúc  Dsc = khoảng cách... niệm mặt phẳng trượt Một cách chung chung thì mặt phẳng trượt là tiếp diện với cầu tại điểm va chạm mà ta tìm được trong phần phát hiện va chạm ở trên Chính vì vậy ta phải tìm cách tính được mặt phẳng này khi biết điểm va chạm Ta đã biết cách xây dựng mặt phẳng từ một điểm thuộc mặt phẳng Vector pháp tuyến của mặt phẳng đó Như vậy ta đã biết điểm va chạm chính là điểm cần tìm còn pháp tuyến của mặt... văn tốt nghiệp Nghiên cứu phát hiện va chạm ứng dụng Bảng 1:Bảng các giá trị của R, Ro,R1 để kiểm tra điều kiện 2 OBB không giao nhau: R>Ro+R1 2.2.2 Kiểm tra sự va chạm giữa các OBB a Đối tượng tĩnh Kiểm tra sự giao nhau được xử lí trên 15 khả năng có thể của các trục phân tách Nếu một trục nào được tìm thấy thì các trục còn lại không cần phải xử lý Các đại lượng cij |cij| được tính toán khi cần... trường hợp 2 khối cầu đang chuyển động va chạm với nhau Trường hợp này có lẽ phức tạp hơn nhiều so với trường hợp va chạm với các đối tượng tĩnh H ình 2.1.2b: Va chạm giữa 2 đối tượng động Giả sử 2 khối cầu có Vector vận tốc ngày trước thời điểm va chạm là U 1 U2 (hình vẽ) Ta sẽ phân tích các vector vận tốc U 1, U2 thành các vector thành phần tại thời điểm xảy ra va chạm X_Axis là Vector nối tâm của

Ngày đăng: 27/04/2013, 17:53

Hình ảnh liên quan

Hình 1.3.1b: Hợp nhất và kiểm tra va chạm giữa 2 Axis-Oriented Bounding Box - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình 1.3.1b.

Hợp nhất và kiểm tra va chạm giữa 2 Axis-Oriented Bounding Box Xem tại trang 6 của tài liệu.
Hình 1.3.1c1: Độ phức tạp trong tính toán đối với các hộp bao - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình 1.3.1c1.

Độ phức tạp trong tính toán đối với các hộp bao Xem tại trang 7 của tài liệu.
Hình 2.1.2b: Va chạm giữ a2 đối tượng động - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình 2.1.2b.

Va chạm giữ a2 đối tượng động Xem tại trang 17 của tài liệu.
Trong không gian 3 chiêu R3, nếu 2 hộp bao giao nhau thì hình chiếu của chúng trên các trục toạ độ x, y và z cũng phải giao nhau. - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

rong.

không gian 3 chiêu R3, nếu 2 hộp bao giao nhau thì hình chiếu của chúng trên các trục toạ độ x, y và z cũng phải giao nhau Xem tại trang 19 của tài liệu.
Bảng 1:Bảng các giá trị của R,R o,R1 để kiểm tra điều kiện 2 OBB không giao nhau: R>Ro+R1 - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Bảng 1.

Bảng các giá trị của R,R o,R1 để kiểm tra điều kiện 2 OBB không giao nhau: R>Ro+R1 Xem tại trang 22 của tài liệu.
2.2.2. Kiểm tra sự va chạm giữa các OBB a. Đối tượng tĩnh - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

2.2.2..

Kiểm tra sự va chạm giữa các OBB a. Đối tượng tĩnh Xem tại trang 22 của tài liệu.
Bảng 1': bảng các giá trị của R,R o,R1 để kiểm tra điều kiện không giao nhau theo hướng chuyển động của 2 OBB: R > R0 + R1 - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Bảng 1.

': bảng các giá trị của R,R o,R1 để kiểm tra điều kiện không giao nhau theo hướng chuyển động của 2 OBB: R > R0 + R1 Xem tại trang 23 của tài liệu.
Bảng 2: các khả năng cho giao điểm duy nhất giữ a2 OBB - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Bảng 2.

các khả năng cho giao điểm duy nhất giữ a2 OBB Xem tại trang 27 của tài liệu.
Hình 2.3.2b: Tìm điểm va chạm giả định - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình 2.3.2b.

Tìm điểm va chạm giả định Xem tại trang 31 của tài liệu.
Hình 2.3.2c1: điểm va chạm sẽ là một tập các điểm - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình 2.3.2c1.

điểm va chạm sẽ là một tập các điểm Xem tại trang 32 của tài liệu.
Đây là bước mà ta tính được điểm xảy ra va chạm thực sự (nếu có) - điểm mà hình cầu sẽ va chạm với tam giác - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

y.

là bước mà ta tính được điểm xảy ra va chạm thực sự (nếu có) - điểm mà hình cầu sẽ va chạm với tam giác Xem tại trang 33 của tài liệu.
Hình 2.3.2d1: Kiểm tra một điểm nằm trong tam giác - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình 2.3.2d1.

Kiểm tra một điểm nằm trong tam giác Xem tại trang 34 của tài liệu.
Hình 2.3.3: Xử lí trượt khi va chạm với tam giác - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình 2.3.3.

Xử lí trượt khi va chạm với tam giác Xem tại trang 35 của tài liệu.
Hình 2.3.2d2: Kiểm tra điểm va chạm xác nhận điểm va chạm - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình 2.3.2d2.

Kiểm tra điểm va chạm xác nhận điểm va chạm Xem tại trang 35 của tài liệu.
Hình 2.3.3a: Khái niệm mặt phẳng trượt - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình 2.3.3a.

Khái niệm mặt phẳng trượt Xem tại trang 36 của tài liệu.
Hình 2.3.3b: Tiếp tuyến của đường cong (2D) - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình 2.3.3b.

Tiếp tuyến của đường cong (2D) Xem tại trang 37 của tài liệu.
Hình vẽ trên mô tả đường cong trong không gian 2 chiều nhưng ta có thể coi nó như trong không gian 3 chiều vẫn có thể được - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình v.

ẽ trên mô tả đường cong trong không gian 2 chiều nhưng ta có thể coi nó như trong không gian 3 chiều vẫn có thể được Xem tại trang 37 của tài liệu.
Hình 2.3.3b2: Tất cả các pháp tuyến của tiếp diện của mặt cầu đều có hướng vào tâm cầu - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình 2.3.3b2.

Tất cả các pháp tuyến của tiếp diện của mặt cầu đều có hướng vào tâm cầu Xem tại trang 39 của tài liệu.
Hình vẽ sau sẽ mô tả độ lớn và hướng của vector vận tốc mới khi khối cầu va chạm phải tam giác: - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình v.

ẽ sau sẽ mô tả độ lớn và hướng của vector vận tốc mới khi khối cầu va chạm phải tam giác: Xem tại trang 40 của tài liệu.
Đối với OBB, khoảng cách hình chiếu của các đỉnh theo đường gốc C là: - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

i.

với OBB, khoảng cách hình chiếu của các đỉnh theo đường gốc C là: Xem tại trang 41 của tài liệu.
Từ (6) và (7) ta có bảng sau: - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

6.

và (7) ta có bảng sau: Xem tại trang 42 của tài liệu.
Bảng 4c: Các hệ số cho các điểm giao duy nhất giữa hộp bao và tam giác trục là A1xEj. - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Bảng 4c.

Các hệ số cho các điểm giao duy nhất giữa hộp bao và tam giác trục là A1xEj Xem tại trang 51 của tài liệu.
Bảng 4b: Các hệ số cho các điểm giao duy nhất giữa hộp bao và tam giác trục là A0xEj. - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Bảng 4b.

Các hệ số cho các điểm giao duy nhất giữa hộp bao và tam giác trục là A0xEj Xem tại trang 51 của tài liệu.
Bảng 4d: Các hệ số cho các điểm giao duy nhất giữa hộp bao và tam giác trục là A2xEj - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Bảng 4d.

Các hệ số cho các điểm giao duy nhất giữa hộp bao và tam giác trục là A2xEj Xem tại trang 52 của tài liệu.
Bảng 5: các giá trị của pivà pj để kiểm tra điều kiện không giao nhau củ a2 tam giác không đồng phẳng: min i(pi) > maxj(qj) hoặc maxi(pi) < minj(qj). - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Bảng 5.

các giá trị của pivà pj để kiểm tra điều kiện không giao nhau củ a2 tam giác không đồng phẳng: min i(pi) > maxj(qj) hoặc maxi(pi) < minj(qj) Xem tại trang 53 của tài liệu.
Từ các đại lượng trong (17) và (18) ta có được bảng mô tả các trục phân tách có thể của 2 tam giác không song song là: - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

c.

ác đại lượng trong (17) và (18) ta có được bảng mô tả các trục phân tách có thể của 2 tam giác không song song là: Xem tại trang 53 của tài liệu.
Bảng 6: Các giá trị của pivà qj kiểm tra sự không giao nhau củ a2 tam giác đồng phẳng: mini(pi) > maxj(qj) hoặc maxi(pi) < minj(qj) - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Bảng 6.

Các giá trị của pivà qj kiểm tra sự không giao nhau củ a2 tam giác đồng phẳng: mini(pi) > maxj(qj) hoặc maxi(pi) < minj(qj) Xem tại trang 54 của tài liệu.
Hình chiếu của tam giác thứ nhất là và p. - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Hình chi.

ếu của tam giác thứ nhất là và p Xem tại trang 56 của tài liệu.
Bảng sau sẽ tổng kết các hệ số trong các trường hợp để cho ra điểm va chạm duy nhất: - Nghiên cứu tìm hiểu va chạm chung giữa các đối tượng trong thực tế được mô phỏng vào máy tính

Bảng sau.

sẽ tổng kết các hệ số trong các trường hợp để cho ra điểm va chạm duy nhất: Xem tại trang 65 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan