Theo số liệu phân tích của Ban An toàn giao thông tỉnh Thái Nguyên, nguyên nhân xảy ra tai nạn và va chạm giao thông nêu trên do nhiều nguyên nhân khách quan, chủ quan khác nhau, những c
Trang 1ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Lê Hữu Nhân
SỬ DỤNG THỰC TẠI ẢO MÔ PHỎNG ĐIỂM ĐEN GIAO THÔNG
TRÊN ĐỊA BÀN TỈNH THÁI NGUYÊN
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01
TÓM TẮT LUẬN VĂN THẠC SỸ CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS Đỗ Năng Toàn
Thái Nguyên, năm 2012
Trang 2Trường Đai học Công nghệ thông tin và Truyền thông – Đại học Thái Nguyên
Người hướng dẫn khoa học: PGS.TS Đỗ Năng Toàn
Phản biện 1: TS Phạm Việt Bình
Phản biện 2: TS Nguyễn Thế Quế
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn họp tại:
Vào hồi 10 giờ ngày 10 tháng 11 năm 2012
Có thể tìm hiểu luận văn tại trung tâm học liệu Đại học Thái Nguyên
Và thư viện Trường/Khoa:
Trường Đại học Công nghệ thông tin và Truyền thông
Trang 31 Đặt vấn đề
Thái Nguyên hiện có trên 4.500 km đường giao thông Hàng năm trên địa bàn tỉnh có khoảng hơn 1000 vụ tai nạn và va chạm giao thông xảy ra Nếu tính bình quân mỗi tháng Thái Nguyên có 19 người chết và 100 người bị thương vì tai nạn giao thông (TNGT) Theo số liệu phân tích của Ban An toàn giao thông tỉnh Thái Nguyên, nguyên nhân xảy ra tai nạn và va chạm giao thông nêu trên do nhiều nguyên nhân khách quan, chủ
quan khác nhau, những có nhiều nguyên nhân là sự tồn tại của các điểm đen giao thông (Trên địa bàn tỉnh
hiện có 64 điểm đen giao thông) Việc đẩy mạnh tăng cường công tác quản lý, phát hiện xử lý kịp thời điểm
đen về TNGT là cần thiết và quan trọng góp phần giảm thiểu tối đa tai nan giao thông trên địa bàn, xuất phát
từ tình hình thực tiễn nêu trên: luận văn tập trung vào việc tìm hiều công nghệ thực tại ảo, tìm hiểu va chạm giữa các đối tượng tai nạn giao thông trong thực tế để mô phỏng vào máy tính Luận văn gồm 3 chương:
Chương 1: Khái quát về mô phỏng và điểm đen giao thông;
Chương 2: Một số kỹ thuật phát hiện, xử lý va chạm trong mô phỏng điểm đen giao thông;
Chương 3: Ứng dụng mô phỏng tai nạn va chạm tại điểm đen giao thông.
2 Đối tượng, phạm vi nghiên cứu
Tình hình tai nạn và va chạm giao thông trên địa bàn tỉnh Thái Nguyên và tại một số tỉnh có tuyến quốc lộ đi qua Thái Nguyên; Các điểm đen giao thông trên địa bàn tỉnh Thái Nguyên; một số tai nạn và va chạm giao thông tại các điểm đen giao thông nói trên; Một số công nghệ, kỹ thuật mô phỏng trên máy tính trong an toàn giao thông đối phương tiên ô tô bốn bánh Kỹ thuật lập trình 3D và thực tại ảo trên nền tảng công nghệ lập trình Java
3 Mục tiêu nghiên cứu chính
Tìm hiểu các khái niệm và các vấn đề liên qua đến mô phỏng và mô phỏng điểm đen giao thông trên địa bàn tỉnh Thái Nguyên; Tìm hiểu một số kỹ thuật tính toán và xử lý va chạm trong mô phỏng; Cài đặt thử nghiệm một tình huống giao thông nguy hiểm tại điểm đen giao thông trên địa bàn tỉnh Thái Nguyên
4 Hướng nghiên cứu của đề tài
Mô phỏng và ứng dụng mô phỏng trong an toàn giao thông
5 Nội dung nghiên cứu chính
Tìm hiểu, khái quát về thực tại ảo và mô phỏng; Tìm hiểu, hiện trạng kết cấu cơ sở hạ tầng giao thông và an toàn giao thông trên địa bàn tỉnh Thái Nguyên; Tìm hiểu một số kỹ thuật mô phỏng xử lý va chạm của phương tiện tham gia giao thông tại đen giao thông trên địa bàn tỉnh; Cài đặt thử nghiệm một tình huống va chạm giao thông tại điểm đen giao thông trên địa bàn tỉnh Thái Nguyên
6 Phương pháp nghiên cứu
Tim hiểu, nghiên cứu lý thuyết; Thông kê khoa học, phân loại; Thực nghiệm; Thông qua sự hướng dẫn của thầy, cô giáo, các chuyên gia có nghiên cứu thuộc các ngành lĩnh vực liên quan đến đề tài
7 Ý nghĩa khoa học của đề tài
Kết quả nghiên cứu của đề tài sẽ làm rõ được một số kỹ thuật mô phỏng ứng dụng trong an toàn giao thông Đồng thời làm cơ sở giúp việc tổ chức triển khai ứng dụng phần mềm, hệ thống thông tin phục vụ công tác đảm bảo an toàn giao thông trên địa bàn tỉnh nói riêng và trong cả nước nói riêng
8 Bố cục luận văn
Ngoài các thông tin bảng vẽ, các thuật ngữ và phần mở đầu, luận văn được trình bày với bố cục nội dung gồm:
Đặt vấn đề
Chương 1: Khái quát về mô phỏng và điểm đen giao thông;
Trang 4Chương 2: Một số kỹ thuật phát hiện, xử lý va chạm trong mô phỏng điểm đen giao thông;
Chương 3: Ứng dụng mô phỏng tai nạn va chạm tại điểm đen giao thông.
Kết luận
Tài liệu tham khảo
CHƯƠNG I KHÁI QUÁT VỀ MÔ PHỎNG VÀ ĐIỂM ĐEN GIAO THÔNG
Chương I, luận văn tập trung vào trình bày khái quát các nội dung về mô phỏng và mô phỏng trong máy tính gồm những vấn đề về mô phỏng, mô phỏng trong máy tính, thực tại ảo trong máy tính và ứng dụng
1.1 Khái quát về mô phỏng
1.1.1 Mô phỏng là gì?
Luận trình bày về kết quả tìm hiểu các khái niệm của mô phỏng và mô phỏng được ứng dụng như thế nào trong cuộc sống Luận văn cũng đưa ra các khái niệm khác nhau ở trong và ngoài nước, cũng như của các tài liệu đã công bố Trên cơ sở đó đánh giá và đưa ra khai niệm chung nhất được các tài liệu hay sử dụng
và dễ hiểu nhất: Đó là: Mô phỏng là quá trình “bắng chước” một hệ thống (mô hình, trạng thái, đối tượng) có thực
1.1.2 Mô phỏng trong máy tính
Tương tự như ý trên, mục này luận văn cũng trình bày về khái niệm mô phỏng trong máy tính, có sử dụng các hình ảnh 3D kết quả, thành tực nghiên cứu và mô phỏng trong máy tính, để làm rõ thêm khái niệm về mô phỏng trong máy tính
Luận văn cũng tập trung nghiên cứu, tìm hiểu, và trình bày về các ứng dụng trong mô phỏng máy tính ở các ngành lĩnh vực như y học, giao thông, quân sự, kinh tế, văn hóa, giải trí…Luận văn cũng trình bày và nêu các phương pháp mô phỏng trong máy tính, phân tích khái quát về hai phương pháp mô phỏng chính là: Mô phỏng nhân quả; Mô phỏng phi nhân quả
1.1.3 Thực tại ảo trong máy tính
Mục này, luận văn trình bày khái quát về lịch sử và hoàn cảnh ra đời của thực tại ảo, cũng như tình hình phát triển của công nghệ thực tại ảo hiện nay…Trình bày khái niệm về thực tại ảo, công cụ phát triển, công cụ lập trình xây dưng các hệ thống thực tại ảo…
1.1.4 Ứng dụng thực tại ảo trong máy tính
Mục này luận văn trình bày các ứng dụng của hệ thống thực tại ảo trong máy
tính cũng như ứng dụng hiện nay đã và đang được triển khai với môi trường
thực tại ảo như: Lớp các bài toán về thiết kế, quy hoạch mạng lưới giao
thông; Lớp các bài toán về quản lý tính toán thiết kế luồng giao thông; Lớp
bài toán phát hiện, cảnh báo ng uy hiệm, điểm đen tai nạn giao thông ; Lớp
bài toán về giảng dạy về lĩnh vực giao thông…;
1.2 Điểm đen và tai nạn va chạm giao thông
1.2.1 Điểm đen giao thông
Mục này trình bày về khái niệm điểm đen giao thông theo luận được bộ Việt Nam,
như sau: Điểm đen tai nạn giao thông trên tuyến đường bộ là những vị trí nguy
hiểm (có thể là nút giao thông cùng mức hoặc đoạn đường bộ có chiều dài dưới
500m) thường xảy ra tai nạn giao thông cao hơn mức bình thường và có tính chất
tương đối giống nhau trong khoảng thời gian nhất định
Hình 1.1 Mô phỏng 3D điểu kiển đèn tín hiệu giao thông
Hình 1.3 Một điểm đen giao thông trên địa bàn tỉnh TN, Ảnh theo ngồn VOV Hình 1.2 Mô phỏng 3D va chạm
Oto
Trang 51.2.2 Tai nạn, va chạm giao thông tại điểm đen
Luật Giao thông đường bộ Việt Nam quy định: Tai nạn giao thông (TNGT) là sự
việc bất ngờ xảy ra khi đối tượng tham gia giao thông đang hoạt động trên các
tuyến đường bộ, đường sắt, đường thuỷ, đường hàng không hoặc ở các địa bàn
giao thông công cộng khác do vi phạm các quy định về an toàn giao thông hoặc
do gặp phải các tình huống, sự cố đột xuất không kịp phòng tránh gây thiệt hại
đến tính mạng, sức khoẻ của con người, đến tài sản và phương tiện
Như vậy tai nạn, va chạm giao thông tại điểm đen giao thông là những sự việc
bất ngờ xảy ra của các đối tượng đang tham gia giao thông tại những vị trị nguy
hiểm
1.2.3 Mô phỏng trong giao thông
Mô phỏng giao thông là cách ‘bắt chước’ hoạt động của một hệ thống gồm các
đối tượng tham gia giao thông trên máy tính Dạng mô phỏng vi mô
(microscopic simulation) dùng các thông số đầu vào của hệ thống và hệ thống
các phương trình quy định hành vi ứng xử của từng loại phương tiện giao thông
để diễn tả lại một trạng thái của hệ thống giao thông Việc mô phỏng này được
lập trình và xử lý bằng máy tính Có một số mô hình mô phỏng giao thông được thương mại hóa bằng phần mềm, ví dụ như PARAMICS, VISSIM Như vậy: việc mô phỏng các tai nạn, va chạm giao thông tại các điểm đen gia thông là một phần trong một hệ thống mô phỏng giao thông, mà ở đó kỹ thuật phát hiện và xử
lý va chạm trong tính toán, mô phỏng là không thể thiếu và rất quan trọng
1.2.4 Các hệ thống phần mềm trong quản lý và an toàn giao thông
Mục này, luận văn tập trung vào trình bày các ứng dụng trong ngành giao thông hiện nay đã được các hãng sản xuất phần mềm máy tính trên thế giới đang cung cấp và thương mại hóa, cũng như hiện tại ngành giao thông đang khai thác sử dụng như: ARCADY, PICADY, OSCADY PRO, TRANSYT, MOVA, MAAP, VISSIM…
CHƯƠNG II MỘT SỐ KỸ THUẬT PHÁT HIỆN, XỬ LÝ VA CHẠM 2.1 Mô phỏng điểm giao thông
Mục này, trình bày về các khái niệm điểm đen giao thông; mô tả dữ liệu vào và ra của bài toán mô phỏng điểm đen giao thông, cũng như kiến trúc của Bài toán quản lý mô phỏng điểm đen giao thông
2.2 Phát hiện va chạm
Định nghĩa [collision detection] : Cho một không gian U với một tập các đối tượng O, thuật toán 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 Cp ¿ O x O x R3 với mọi đối tượng
o1,o2 và cho biết các điểm va chạm giữa chúng p1,2 ¿ R3
2.3 Kỹ thuật phát hiện va chạm dùng hộp bao AABB
2.3.1 Khái niệm
Hộp bao AABB (Axis Aligned Bounding Box) là hộp bao có dạng hình hộp chữ nhật, các
cạnh (trục) song song với các trục toạ độ tương ứng và bao lấy vật thể
Hộp bao AABB bao gồm một tâm C, ba hệ số a0, a1, a2 tương ứng là độ dài theo ba trục
toạ độ của hình hộp Hộp bao dạng đơn giản, dễ tạo ra và thao tác trong kiểm tra va chạm
Hộp bao loại này cũng tạo ra nhiều khoảng trống giữa vật thể và hộp bao, khi vật thể
không nằm song song với các trục toạ độ và có dạng dài thì khoảng trống này càng
lớn
2.3.2 Kỹ thuật 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 và lớn nhất của vật thể như hình vẽ 3
2.3.3 Kỹ thuật xử lý phát hiện va chạm
Hình 2.1 Hộp bao AABB, 2D
Hình 2.2 Hộp bao AABB
Hình 1.4 Tai nạn, va chạm giao thông tại núi điểm đen tầm nhìn
bị che khuất, ảnh theo ngồn
Internet
Hình 1.5 mô hình quy hoạch phân luồng oto 3D trong hệ thống Carsim
Trang 6Cho hai hộp bao AABB xác định bởi [C1, a0,a1, a2] và [C2, b0, b1, b2] với giả sử ai>0, bj>0, i,j = 0,1,2 Để kiểm tra va chạm, chúng ta xác định toạ độ cao nhất và thấp nhất của mỗi hộp bao Kí hiệu (xmin1, ymin1, zmin1), (xmax1, ymax1, zmax1) là toạ độ thấp nhất và cao nhất của hộp bao có tâm C1, Tương tự, ta tính được (xmin2, ymin2,
zmin2), (xmax2, ymax2, zmax2) là toạ độ thấp nhất và cao nhất của hộp bao xác định bởi tâm C2 Hai hộp bao AABB va chạm nhau nếu xảy ra một trong bốn điều kiện sau:
Để tìm điểm va chạm, chúng ta có chọn điểm va chạm là đỉnh tương ứng với
một trong bốn trường hợp trên
a) Thuật toán tổng quát:
Để kiểm tra 2 hộp bao có va chạm với nhau hay không ta sử dụng định lý sau: 2
đối tượng lồi sẽ không giao nhau khi và chỉ khi tồn tại mặt phẳng P cô lập được
chúng
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 Thuật toán:
- Chiếu mỗi hộp bao (AABB) lên các trục toạ độ x, y và z Kết quả thu được là các đoạn thẳng
- Hoặc có thể chiếu mỗi hộp bao (AABB) lên các mặt phẳng toạ độ xOy, yOz và zOx Kết quả thu được
là các hình chữ nhật
- Kiểm tra sự giao nhau giữa các đoạn thẳng được chiếu lên các trục toạ độ Nếu hình chiếu của 2 hộp bao giao nhau trên cả 3 trục toạ độ thì 2 hộp bao đó giao nhau Ngược lại chúng không giao nhau
- Nếu chiếu lên các mặt phẳng toạ độ thì 2 hộp bao giao nhau khi và chỉ khi hình chiếu của 2 hộp bao đó lên mỗi mặt phẳng toạ độ đều giao nhau
2.4 Kỹ thuật phát hiện va chạm dụng hộp bao theo hướng – OBB
2.4.1 Khái niệm
OBB là hộp bao AABB nhưng trục có hướng bất kỳ, như hình vẽ 14, OBB có ưu điểm
hơn AABB đó là giảm không gian trống giữa vật thể và hộp bao
Loại hộp bao này bao khá vừa các dạng vật thể, không tối ưu đối với các vật thể có
nhiều các đỉnh cao như hình vẽ 13
Một hình hộp OBB bao gồm một tâm C, ba vector ⃗ A0, ⃗ A1, ⃗ A2 chỉ hướng của hình hộp và
3 hệ số độ dài tương ứng với kích thước của hình hộp là a0 >0, a1>0, a2>0 Khi đó, 8 đỉnh
của hình hộp sẽ được xác định:
2.4.2 Kỹ thuật xử lý phát hiện va chạm
a) Kiểm tra nhanh va chạm giữa hai hộp OBBs
Cho hai hình bao OBBs xác định bởi các thông số [C0,A0,A1,A2,a0,a1,a2] và [C1,B0,B1,B2,b0,b1,b2] Tập ứng cử viên các trục cô lập chỉ tối đa là 15 trục sau:
- 3 trục chỉ hướng của hộp bao thứ nhất
- 3 trục chỉ hướng của hộp bao thứ hai
- 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 Gọi trục cô lập có vector chỉ phương là V và đi qua tâm C0 của hộp bao thứ nhất và có phương trình như sau:
d=⃗ C0 + t*⃗ V
Trong đó: t – là tham số; ⃗ V có thể là ⃗ Ai, ⃗ Bj hoặc có thể là ⃗ Ai,⨂ ⃗ Bj trong đó i,j=0,1,2.
Gọi P là một điểm bất kỳ, hình chiếu của P lên đường thẳng d với gốc C0 sẽ là đoạn thẳng C0H xác định như sau (hình 15)
Hình 2.5 Hình chiếu của P lên đường thẳng d
Hình 2.3 Chiếu các đối tượng lên các
trục toạ độ
Hình 2.4 Hộp bao hướng - OBB
Trang 7Như 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 C0 thì sẽ thu được 4 cặp đoạn thẳng có độ dài bằng nhau nằm về hai phía so với C0 (hình 16), độ dài của mỗi đoạn thẳng được xác định như sau:
(2.1)
Hình 2.6 Chiếu 8 đỉnh của hình hộp lên trục d
Như vậy, khoảng cách nhỏ nhất chứa 8 đoạng thẳng (2.1) sẽ có tâm là C0 và bán kính r0 được xác định như sau:
Đặt R0 =r* | V ⃗ |, ta có:
Tương tự, ta xác định hình chiếu 8 đỉnh của hộp bao thứ hai lên d với gốc C0 như sau
Với ⃗ D=⃗ C1- ⃗ C0
Chú ý rằng, 8 đoạn thẳng này được nhóm thành 4 cặp đối xứng nhau qua C1 Do vậy, khoảng cách
nhỏ nhất chứa 8 đoạng thẳng (2.2) sẽ có tâm là C1 và bán kính R1 được xác định như sau:
Đặt R1= r* | V ⃗ |, tương tự như trên ta suy ra
Hai khoảng cách trên sẽ không giao nhau nếu:
(2.3) Trong đó: R= C0C1* | V ⃗ |
Hình 2.7 Kết quả chiếu hai hình hộp lên trục cô lập d
Giải cụ thể các phương trình trên, với mỗi vector ⃗ Bi ta có thể viết thành:
Trang 8⃗ Bi=C0i⃗ A0 + C1i⃗ A1 + C2i⃗ A2, với i=0,1,2.
Đặt: A=(A0, A1, A2); B=(B0, B1,B2)
(2.4)
(2.5)
Từ (2.4) và (2.5) => cij=⃗ Ai * ⃗ Bj, hay cij là tích vô hướng của vector ⃗ Ai, ⃗ Bj Mặt khác: từ B=C*A => A=CT*B
→ ⃗ Ai=ci0⃗ B0 + ci1⃗ B1 + ci2⃗ B2, với i=0,1,2 Như ta đã biết, tập các trục cô lập ứng cử viên ⃗ Vi= {⃗ Ai, ⃗ Bj, ⃗ Ai,⨂ ⃗ Bj
}, với i, j = 0,1,2 Để tính toán các hệ số R0, R1 ở trên ta minh họa cho hai trường hợp ⃗ V= ⃗ Ai và ⃗ V= ⃗ Ai,⨂ ⃗ Bj, các trường hợp còn lại tương tự
Xét trường hợp: ⃗ V= ⃗ A0
Xét trường hợp: ⃗ V= ⃗ A0,⨂ ⃗ B0
Mặt khác:
Viết lại ⃗ V dưới dạng:
Tiếp tục làm cho các trường hợp còn lại, ta lần lượt xác định được các giá trị cho R, R0, R1
b) Tìm va chạm giữa hai hộp OBBs
Phát hiện va chạm trong mức thứ nhất chưa đưa ra được chính xác điểm va chạm Trường hợp kết quả mức thứ nhất cho ta biết là có va chạm xảy ra thì phải chuyển sang mức hai để tìm chính xác điểm va chạm
[9] Ý tưởng để tìm thời điểm va chạm đầu tiên như sau:
Nếu không tìm được một trục cô lập nào thì có nghĩa là hai hộp bao đã va chạm với nhau, khi đó nhãn thời gian được gán cho trục cô lập ở lần kiểm tra liền trước sẽ là thời điểm đầu tiên mà hai hộp bao va chạm nhau, gọi T là nhãn thời gian đó Khi đó, ta có thế coi như R = R0+R1(thời điểm hai hình hộp tiếp xúc nhau)
Gọi P là điểm tiếp xúc của hai hộp bao thì suy ra tồn tại một vector x = {x0, x1, x2} và y = {y0, y1, y2} sao cho:
(2.6) Việc tìm điểm va chạm sẽ phụ thuộc vào trục cô lập ⃗ V ở thời điểm T là trục
nào trong số 15 trục cô lập ứng cử viên Ta xét 3 trường hợp sau:
Trường hợp 1: ⃗ V là véctor ⃗ Ai
Nhân hai vế của (6) với vector ⃗ Ai ta được:
Hình 2.8 Tìm điểm va chạm khi hai điểm tiếp xúc nhau
Trang 9Đặt σ= Sign (⃗ Ai * ⃗ D) => xi = σ * (R0+R1) +
Thay các giá trị của R0, R1 trong bảng 1 ở trên ta được:
Nhân hai vế với σ ta được:
(7)
Thấy: (ai – σ*xi) ≥ 0 và (bj + σ * Sign (cij) * yj) ≥ 0
Nếu cij=0, ứng với trường hợp cạnh va chạm mặt, mặt va chạm mặt, khi đó nhân hai vế (2.6) với vector ⃗ Bj được:
Mặt khác, vì |yj| ≤ bj, nên ta có:
Do vậy ta chỉ cần chọn một giá trị yj thuộc đoạn trên
Trường hợp 2: ⃗ V là véctor ⃗ Bj
Tương tự như trường hợp 1, ta tính được:
Nếu cij=0, nhân hai về của (6) với ⃗ A, ta có:
Tương tự, ta có:
Khi đó, chọn xj thuộc đoạn sau làm điểm tiếp xúc
Trường hợp 3: ⃗ V là véctor ⃗ Ai⨂ ⃗ Bj , để thuận tiện và dễ trình bày, ta minh họa cho một trường hợp ⃗ V = ⃗ A0
⨂ ⃗ B0 = c10⃗ A2 – c20⃗ A1= - c01⃗ B2 + c02⃗ B1, các trường hợp khác được tính tương tự Nhân hai về (6) với ⃗ Ai⨂
⃗ Bj, ta được:
(8)
Lưu ý: theo hàng 7 trong bảng 1, thì:
Đặt σ= Sign ((⃗ A0⨂ ⃗ B0) * ⃗ D), ta có (8) tương đương với:
⟷ |c20| * (a1 + σ*Sign(c20)*x1)+|c10|*(a2-σ*Sign(c10)*x2)+|c01|*(b2-σ*Sign(c01)*y2)+|c02|*(b1+σ
Trang 10Ta thấy:
Để tìm x0, y0, nhân hai vế của (6) với ⃗ A0, ⃗ B0
Giải hệ phương trình trên, cùng với hệ số y1, y2, x1, x2, ta tìm được x0, y0
Đối với các trường hợp ⃗ V ={ ⃗ A0⨂ ⃗ B1, ⃗ A0⨂ ⃗ B2, ⃗ A1⨂ ⃗ B0, ⃗ A1⨂ ⃗ B1, ⃗ A2⨂ ⃗ B0⃗ A2⨂ ⃗ B1, ⃗ A2⨂ ⃗ B
2} tính toán tương tự như trên để tìm điểm tiếp xúc Cứ như vậy ta tính được tiểm tiếp xúc trong mọi trường hợp
2.5 Kỹ thuật phát hiện va chạm sử dụng phương pháp Elipsoid
2.5.1 Không gian vector và sự tịnh tiến các vật thể trong không gian
Phương pháp Elipsoid, sử dụng không gian vector không phải thuộc dạng chuẩn, để đơn
giản hoá việc tính toán
Các Luật của một không gian vector phải đáp ứng:
- Thỏa mãn luật cộng và nhân Có nghĩa là cho 2 vector X, Y thuộc không gian vector đang
xét thì Z = X + Y cũng thuộc không gian đó Cho một số thực r, nếu X nằm trong không
gian thì r*X cũng thuộc không gian đó (Luật 1)
- Tồn tại vector không V0 sao cho với mọi vector X trong không gian đó thì V0+X=X Với mọi vector X thì X*0 = V0 (Luật 2)
- Nó phải thoả mãn các phép toán học chuẩn như : luật kết hợp và luật giao hoán
(Luật 3)
Tổ hợp tuyến tính của các vector trong một không gian vector: đó là một vector
nhận được khi ta tổ hợp các vector trong không gian vector bởi các phép cộng và phép
nhân với một số vô hướng
2.5.2 Phát hiện va chạm
Ý tưởng: mô phỏng đối tượng trong thế giới thực bởi Ellipsoid (hình bao Ellipsoid) Ellipsoid này được định nghĩa bởi tâm và bán kính của nó theo 3 trục tọa độ, như hình vẽ
Ý tưởng thuật toán tổng quát thực hiện theo 5 bước sau:
Bước 1: Tính mặt phẳng chứa tam giác.
Bước 2: Tính điểm giao trên hình cầu khi chúng sẽ va chạm với mặt phẳng.
Bước 3: Tính điểm giao trên mặt phẳng khi hình cầu va chạm với mặt phẳng.
Bước 4: Tính toán, nếu điểm va chạm trên mặt phẳng nằm trong tam giác Nếu không ta phải tính lại
điểm va chạm thực sự
Bước 5: Nếu xảy ra khả năng điểm giao không thực sự và khoảng cách tới điểm giao nhỏ hơn hoặc
bằng độ lớn của khoảng cách mà chúng ta muốn di chuyển đối tượng, chúng ta sẽ kiểm tra điểm va chạm gần nhất có thể Lưu thông tin va chạm
Thuật toán kết thúc, nếu tồn tại điểm va chạm gần nhất, thì thực hiện lưu giữ thông tin va chạm, thông tin này cần thiết để xử lý phản hồi (response) sau va chạm Khi toàn bộ quá trình phát hiện và xử lý va chạm kết thúc, ta chuyển toàn bộ kết quả vào không gian R3 chuẩn để được kết quả cuối cùng, cập nhật vị trí mới của đối tượng
a) Triển khai thực hiện thuật toán tổng quát trên: