1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tính toán va chạm sử dụng kỹ thuật hộp bao theo hướng và ứng dụng trong tuyên truyền giao thông

9 43 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 591,76 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Va chạm là vấn đề không thể thiếu trong bất kỳ một hệ thống thực tại ảo nào (VR). Do đó, nghiên cứu các phương pháp phát hiện va chạm là một mục tiêu hàng đầu mà các hệ thống thực tại ảo quan tâm. Bài báo này trình bày một kỹ thuật phát hiện va chạm dựa trên việc tính toán các hộp bao theo hướng (Oriented Bounding Boxes) và có cải tiến để phát hiện va chạm. Kỹ thuật nghiên cứu đã được áp dụng vào hệ thống “Giúp bạn đi an toàn” - một hệ thống thực tại ảo mô phỏng giao thông. Hệ thống có thể trợ giúp con người biết cách đi như thế nào để an toàn khi tham gia giao thông.

Trang 1

TÍNH TOÁN VA CHẠM SỬ DỤNG KỸ THUẬT HỘP BAO THEO HƯỚNG VÀ ỨNG DỤNG TRONG TUYÊN TRUYỀN GIAO THÔNG

Đỗ Năng Toàn 1 , Nông Minh Ngọc 2*

1 Viện Công nghệ thông tin, 2 Đại học Thái Nguyên

TÓM TẮT

Va chạm là vấn đề không thể thiếu trong bất kỳ một hệ thống thực tại ảo nào (VR) Do đó, nghiên cứu các phương pháp phát hiện va chạm là một mục tiêu hàng đầu mà các hệ thống thực tại ảo quan tâm Bài báo này trình bày một kỹ thuật phát hiện va chạm dựa trên việc tính toán các hộp bao theo hướng (Oriented Bounding Boxes) và có cải tiến để phát hiện va chạm

Kỹ thuật nghiên cứu đã được áp dụng vào hệ thống “Giúp bạn đi an toàn” - một hệ thống thực tại

ảo mô phỏng giao thông Hệ thống có thể trợ giúp con người biết cách đi như thế nào để an toàn khi tham gia giao thông

Từ khóa: Phát hiện va chạm, OBBs, AABB, Thực tại ảo

GIỚI THIỆU*

Phát hiện va chạm là một trong những vấn đề

trọng tâm của mỗi hệ thống thực tại ảo Các

đối tượng trong mỗi hệ thống đồ hoạ có

những chuyển động riêng của nó, trong khi

chuyển động đó có thể va chạm với đối tượng

khác, hoặc có thể va chạm với môi trường,

chướng ngại vật,

Đối với phương pháp phát hiện va chạm theo

các hộp bao thì ta có hai kỹ thuật khác nhau

đó là sử dụng hộp bao có các cạnh song song

với các trục toạ độ (axis-aligned bounding

boxes - AABBs) hoặc là hộp bao theo hướng

của đối tượng (Oriented Bounding Boxe -

OBBs ) Việc phát hiện va chạm giữa các hộp

bao AABBs được thực hiện nhanh chóng

nhưng sai số lớn, trong khi đó phát hiện va

chạm giữa các hộp bao OBBs tuy phức tạp

hơn nhưng lại cho sai số nhỏ hơn nhiều

Bài báo này sẽ trình bày kỹ thuật phát hiện va

chạm dựa vào các hộp bao OBBs và đưa ra

một cải tiến để giảm thời gian xử lý các hộp

bao Cuối cùng, chúng tôi đã áp dụng kỹ thuật

trên vào hệ thống “Giúp bạn đi an toàn khi

tham giao thông ” - một hệ thống thực tại ảo mô

phỏng các tình huống giao thông nhằm tuyên

truyền, trợ giúp người dùng biết cách đi như thế

nào để an toàn nhất khi tham gia giao thông

*

Tel: 0968 595888

KỸ THUẬT HỘP BAO THEO HƯỚNG (ORIENTED BOUNDING BOXES)

Định nghĩa hộp bao theo hướng (Oriented Bounding Boxes-OBBs)

Trong phần này, tất cả các vectors được hiểu

là trong không gian R3 Một hình hộp OBB bao gồm một tâm C, ba vector A0,A1,A2

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 như sau:

2

0

2 , 1 , 0 , 1

|

|

*

i

i i

i

s

(1)

Kỹ thuật phát hiện hộp bao theo hướng được chia làm hai mức Mức một là kiểm tra

“nhanh” xem có va chạm nào xảy ra không? Nếu không có va chạm nào xảy ra thì hệ thống vẫn làm việc bình thường, 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 điểm va chạm của các hộp bao

Định lý: Việc kiểm tra hai khối đa diện lồi

không giao nhau nếu có thể cô lập được chúng bằng một mặt phẳng P thoả mãn một trong hai điều kiện sau:

- P song song với một mặt nào đó của một trong hai khối đa diện

- Hoặc là P chứa một cạnh thuộc đa diện thứ nhất và một đỉnh thuộc đa diện thứ hai

Trang 2

Từ định lý trên, ta rút ra nhận xét sau cho

phép kiểm tra nhanh sự giao nhau của hai hai

khối đa diện lồi: Điều kiện cần và đủ để kiểm

tra hai khối đa diện lồi có giao nhau hay

không là kiểm tra giao nhau giữa các hình

chiếu của chúng lên đường thẳng vuông góc

với mặt phẳng P ở trên, đường thẳng này

được gọi là trục cô lập Ta thấy rằng các hộp

bao OBBs là những khối đa diện lồi, bởi vậy

ta hoàn toàn có thể áp dụng định lý trên để

kiểm tra va chạm giữa chúng

Phương pháp kiểm tra va chạm giữa hai

hộp bao 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] Ta thấy rằng các tình

huống mà hai OBBs tiếp xúc với nhau (không

cắt nhau) chỉ có thể là một trong 6 trường hợp

sau đây: 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 ứ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 (Ai

)

- 3 trục chỉ hướng của hộp bao thứ hai (Bj

)

- 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 (Ai Bj

)

Mặt khác, ta biết rằng nếu một trục là trục cô

lập thì khi tịnh tiến đến vị trí nào, nó vẫn là

trục cô lập Bởi vậy, không mất tính tổng quát

ta sẽ 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, do vậy

nó có phương trình như sau:

d = C 0

+ t*V

Trong đó: t là tham số V

Ai hoặc Bj hoặc Ai Bj

với 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 :

|

|

* ) (

)

,

V

V C P

d

P

Như 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 2), độ dài của mỗi đoạn thẳng được xác định như sau :

|

|

|

* )

*

* (

| ) ,

*

* (

2

0 2

0 0

V

V A a s d

A a s C

i i i

i

i i

(2)

Hình 2 Chiếu 8 đỉnh của hình hộp lên trục cô lập d

Như vậy, khoảng cách nhỏ nhất chứa 8 đoạng thẳng (2) sẽ có tâm có tâm là C0 và bán kính

r0 được xác định như sau :

|

|

* )

*

* (

|

2

0

V

V A a s

i

i i i

} Với mọi |si| = 1 (3) Đặt R0 = r0*| V  |

, ta có:

 R0 = max{| a0*AV

*

0 + a1*AV

*

a2*AV

*

| a0*AV

*

0 + a1*AV

*

1 - a2*AV

*

d

C0

P

H

Hình 1 Hình chiếu của P lên đường thẳng d

Trang 3

| a0*AV

*

0 - a1*AV

*

1 + a2*AV

*

| a0*AV

*

0 - a1*AV

*

1 - a2*AV

*

|-a0*AV

*

0 + a1*AV

*

1 + a2*AV

*

|-a0*AV

*

0 + a1*AV

*

1 - a2*AV

*

|-a0*AV

*

0 - a1*AV

*

1 + a2*AV

*

|-a0*AV

*

0 - a1*AV

*

1 - a2*AV

*

= a0*|AV

*

0 | + a1*|AV

*

1 | + a2*|AV

*

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

|

|

|

* )

*

* (

|

|

|

* ) ,

*

*

(

2

0 2

0

1

V

V B b s V

D V d B b

s

C

i i i

i

i i

(4) Với DC1 C0

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 (4)

sẽ có tâm là C1 và bán kính R1 được xác định

như sau :

|

|

* )

*

* (

|

2

0

V

V B b s

i

i i i

} Với mọi

|si| = 1

Đặt R1 = r1*| V  |

, tương tự như trên ta suy ra :

R1 = b0*|BV

*

0 | + b1*|BV

*

b2*|BV

*

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

C0C1 > r0+r1 | V  |

*C0C1 > | V  |

*r0 +

|

| V

*r1 R > R0 + R1 (5)

Trong đó: R = C0C1*| V  |

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:Bi c0i A0 c1i A1 c2i A2

với i = 0,1,2

Đặt : A = (A0, A1, A2) và B= (B0, B1, B2)

22 21 20

12 11 10

02 01 00

c c c

c c c

c c c

 B = C*A AT*B = C C =

2 1 0 2 1

0

A A

A

=

2 2 1 2 0 2

2 1 1 1 0 1

2 0 1 0 0 0

B A B A B A

B A B A B A

B A B A B A

(7)

Từ (6) và (7) suy ra: cij Ai Bj

* , hay cij

chính là tích vô hướng của hai vector Ai, Bj Mặt khác, từ B = C*A  A = CT

*B 

2 2 1 1 0

c

Như trong tập các trục cô lập ứng cử viên V

= {Ai

,Bj ,Ai Bj

}với i, j = 0,1,2 Để tính toán các hệ số R0, R1, R ở trên thì ta sẽ làm minh họa cho hai trường hợp V

= Ai

V

= Ai Bj

, các trường hợp còn lại được tính toán tương tự

- Xét trường hợp V

= A0

: + R0 = a0*|AV

*

0 | + a1*|AV

*

1 | +

a2*|AV

*

2 | = a0 + R1 = b0*|BV

*

0 | + b1*|BV

*

1 | +

b2*|BV

*

2 | = b0*|c00| + b1*|c01|+ b2*|c02| + R = A0

*D

- Xét trường hợp V

= A0 B0

: + R0 = a0*|A0*A0 B0

| +

a1*|A1*A0 B0

| + a2*|A2*A0 B0

| Mặt khác : V

= A0 B0

=

)

=

1 20 2

 R0 = a1*|c20| + a2*|c10| + R = V

*D  = c Ac AD

* )

C0

C1 R1

R0

d

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

Trang 4

+ R1 = b0*|BV

*

0 | + b1*|BV

*

b2*|BV

*

Ta có viết lại V

dưới dạng:

V

= A0 B0

=

0 2 02 1

01

0

(c Bc Bc BB

=

-1

02

2

BV

*

0 = B0*( c01B2 c02B1)

= 0

V

B  

*

1 = B1*( c01B2 c02B1)

= c02

V

B  

*

2 = B2*( c01B2 c02B1)

= -c01

 R1 = b1*|c02|+ b2*|c01|

Tiếp tục, ta xây dựng được bảng các giá trị

cho R, R0, R1 như thể hiện tại bảng 1

Tính toán điểm va chạm giữa hai OBBs

Khi có va chạm giữa các OBBs xảy ra, ta sẽ

thực hiện việc tìm chính xác điểm va chạm

Đối với hai hộp bao, nếu chúng va chạm với

nhau ở dạng đỉnh - đỉnh, đỉnh - cạnh, cạnh - cạnh, đỉnh - mặt thì điểm tiếp xúc là duy nhất

Nhưng nếu chúng va chạm với nhau ở dạng

mặt - mặt, cạnh - mặt thì sẽ có vô số điểm

tiếp xúc, khi đó chúng ta chỉ cần đưa ra một điểm bất kỳ là được

Ý tưởng để tìm thời điểm va chạm như sau:

Mỗi khi ta thực hiện công việc kiểm nhanh va

chạm ở mức thứ nhất, nếu tìm được một trục

cô lập thì ta sẽ ghi lại nhãn thời gian cho trục

cô lập đó 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)

Bảng 1 Các giá trị R, R 0 , R 1

Trang 5

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

0 2

0

*

*

j

j j i

i

với |xi| ai, |yj|

bj và i,j = 0,1,2 (8)

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

V

là vector Ai

:Nhân hai vế của (8) với Ai

ta thu được:

xi =

2

0

*

*

j

j i j

=

Sign(Ai D

* )*(R0+R1) +

2

0

*

j

ij

j c y

Đặt = Sign(Ai D

* )  xi = *(R0+R1) +

2

0

*

j

ij

j c

y Thay giá trị các R0, R1 tại bảng 1:

xi = *(ai +

2

0

|

|

*

j

j

0

*

j

ij

j c

y Nhân

cả hai vế với ta được

(ai- *xi) +

2

0

|

|

*

j

j

j c

2

0

*

j

ij

j c

y = 0 (ai- *xi)

2

0

j ij j

j

ij b Sign c y

Ta thấy: (ai- *xi) 0 và

)

* ) (

*

( bj Sign cij yj 0

0

* ) (

*

0

*

j ij j

i

y c Sign

b

xi

a

Nếu cij 0 

2 , 1 , 0

* ) (

*

*

j bj c Sign

y

a

x

ij j

i

i

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ế

của (8) với Bj

ta được:

yj =

-2

0

*

*

k

kj k

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

V

là vector Bi

:Tương tự như trường hợp

trên, ta tính được

Nếu cji 0 

2 , 1 , 0

* ) (

*

*

j a c Sign x

b y

j ji j

i i

Nếu cji = 0, nhân hai vế của (6) với Ai

ta có:

Tương tự như trên, ta có:

Khi đó, chọn xj thuộc đoạn sau làm điểm tiếp xúc:

V

là vector Ai Bj

: Để dễ trình bày,

chúng ta sẽ làm minh hoạ cho một trường hợpV

= A0 B0

= c10A2 c20A1

=

1 02 2

, các trường hợp khác sẽ được tính tương tự

Nhân hai vế (8) với A0 B0

ta được:

x2*c10 - x1*c20 = ABD

* )

) (

*

2

0

B c B c B

y

j

j j

x2*c10 - x1*c20 = ABD

* ) ( 0 0 + y1*c02 -

y2*c01 (10) Chú ý rằng, theo hàng 7 trong bảng 1 thì:

|

|

*

|

|

*

|

|

*

|

|

*

|

* ) (

|

|

|

01 2 02 1 10 2 20 1

1 0 0

0

c b c b c a c a

R R D B A

Trang 6

} |

|

*

|

|

*

|

|

*

|

|

* {

* )

* ) ((

01 2 02 1 10 2

20

1 0

0

c b c b c

a

c

a D B A

Sign

Đặt Sign((A0 B0)*D)

, ta có (10) tương đương với :

x2*c10 - x1*c20 =

*(

|

|

*

|

|

*

|

|

*

|

|

+ y1*c02 - y2*c01

|c20|*(a1+ *Sign(c20)*x1)+|c10|*(a2

-*Sign(c10)*x2)

+ |c01|*(b2- *Sign(c01)*y2)+

|c02|*(b1+ *Sign(c02)*y1) = 0 (11)

Nhận thấy:

Từ (11) suy ra:

Để tìm x0 và y0, nhân 2 vế của (6) với A0

0

:

0 0

2 20 1 10

0

00

02 02 1 01 0 00 0

0

*

*

*

*

*

*

*

*

y D B x c x c

x

c

y c y c y c D

A

x

Giải hệ phương trình trên, cùng với các hệ số

y1, y2, x1, x2 ở trên 

2 20 1 10 2 02 1

01 0

00 0

2

00

0

2 02 1 01 2 20 1

10 0

00 0

2

00

0

*

* )

*

*

* (

*

* 1

1

*

* )

*

*

* (

*

* 1

1

x c x c y c y

c D A c D B c

y

y c y c x c x

c D B c D A

c

x

Đối với các trường hợp V

={A0 B1

,

2

, A1 B0

, A 1 B 1

, A 1 B 2

,

0

, A 2 B 1

, A 2 B 2

} cũng tính toán tương tự như trên để tìm điểm tiếp xúc Cuối cùng ta có bảng tổng hợp về toạ độ của tiếp điểm trong mọi trường hợp sau (bảng 2) Như vậy, quá trình phát hiện va chạm được thực hiện nhanh chóng, ở mức thứ nhất cho phép phát hiện nhanh các va chạm Việc phân chia các mức phát hiện va chạm như trên là rất hợp lý, dựa trên nhận xét là trong một hệ thống đồ hoạ 3D có rất nhiều đối tượng thì không phải lúc nào các đối tượng cũng va chạm nhau, thậm chí là số lần va chạm có thể rất thưa

Kỹ thuật phát hiện va chạm với các tượng

di chuyển

Giả sử hai đối tượng (mà ta coi như là các hình hộp) C0 và C1 chuyển động với gia tốc khác nhau Ta xây dựng một lớp hình hộp chứa các thông tin cần thiết về đối tượng như: toạ độ tâm hình hộp, 3 vector chỉ hướng, độ dài của 3 chiều hình hộp, gia tốc chuyển động, vận tốc chuyển động, trọng lượng hình hộp,…Những thông số này còn được gọi là các thông số trạng thái của đối tượng Khi đó các đối tượng chuyển động với các thông số riêng của nó Giả sử ở thời điểm t0 ta đã có các vector trạng thái của đối tượng, sang thời điểm t1 > t0 vector trạng thái mới của đối tượng có thể được tính toán bằng các phương pháp lấy tích phân số gần đúng Có hai phương pháp tính tích phân số hay được dùng

đó là phương pháp Euler và Runge–Kutta

Fourth 4 Phương pháp Euler đơn giản, sai số

lớn và chỉ cho độ chính xác tốt khi t = t1 - t0

lớn, ngược lại khi t bé thì phương pháp

Runge–Kutta Fourth 4 lại cho độ chính xác

cao hơn Sau đây chúng tôi sẽ trình bày

phương pháp lấy tích phân số Runge–Kutta Fourth 4, là phương pháp mà đã được sử

dụng trong ứng dụng của chúng tôi

x1 = - *Sign(c20)*a1

x2 = *Sign(c10)*a2

y1 = - *Sign(c02)*b1

y2 = *Sign(c01)*b2

a1+ *Sign(c20)*x1 0

a2- *Sign(c10)*x2 0

b2- *Sign(c01)*y2 0

b1+ *Sign(c02)*y1 0

a1+ *Sign(c20)*x1 = 0

a2- *Sign(c10)*x2 = 0

b2- *Sign(c01)*y2 = 0

b1+ *Sign(c02)*y1 = 0

Trang 7

Bảng 2 Toạ độ của tiếp điểm trong các trường hợp

Gọi Sn là vector trạng thái của đối tượng ở

thời điểm tn, để tính vector trạng thái Sn+1 ở

thời điểm tiếp theo tn+1 bằng phương pháp

Runge–Kutta Fourth 4 như sau:

Đặt h = tn+1 - tn

Gọi F(Sn, tn) là đạo hàm của Sn ở thời điểm tn

Tính A1 = F(Sn, tn)

Tính A2 = F(Sn + h*A1/2, tn + h/2)

Tính A3 = F(Sn + h*A2/2, tn + h/2)

Tính A4 = F(Sn + h*A3, tn+ h/2)

Khi đó:

)

* 2

* 2 (

*

Sn n

Như vậy, sau khi tính toán được vector trạng

thái mới cho đối tượng, chúng ta sẽ cập nhật

được vị trí và hướng ở thời điểm mới Sau đó

sẽ làm lại thủ tục phát hiện va chạm cho các

đối tượng ở thời điểm mới này với các hộp bao mới cập nhật

ỨNG DỤNG VÀO BÀI TOÁN AN TOÀN GIAO THÔNG

An toàn giao thông là vấn cấp thiết của mỗi quốc gia, đặc biệt trong điều kiện Việt Nam với hệ thống giao thông còn chưa hoàn thiện,

ý thức của người dân khi tham gia giao thông còn yếu kém và bản thân vẫn chưa có các hệ thống giám sát và cảnh báo giao thông hiệu quả Thực tại ảo là một lĩnh vực nghiên cứu mới trong công nghệ thông tin và đã tỏ ra hiệu quả trên nhiều lĩnh vực Trong đó, lĩnh vực liên quan đến an toàn giao thông là một

ví dụ

Viện CNTT đã và đang nghiên cứu về thực tại

ảo và các ứng dụng của nó Việc ứng dụng công nghệ thực tại ảo vào an toàn giao thông

Trang 8

là một trong những hướng nghiên cứu trọng

điểm Một trong những phương pháp hữu

hiệu để làm giảm thiểu tai nạn giao thông đó

là tuyên truyền, phổ biến và cảnh báo hậu quả

của tai nạn giao thông đến cho mỗi người để

nâng cao ý thức chấp hành luật lệ giao thông

Do đó, việc nghiên cứu các kỹ thuật va chạm

trong các hệ thống thực tại ảo nhằm ứng dụng

vào mô phỏng các tình huống giao thông

thường nhật để tuyên truyền, trợ giúp người

tham gia giao thông biết cách đi như thế nào

để an toàn nhất

Tại Việt Nam, việc tuyên truyền về an toàn

giao thông đã được quan tâm thông qua các

chương trình truyền hình: “Tôi yêu Việt

Nam”, “Dạy và học luật giao thông”… Tuy

nhiên, những chương trình này có nhược

điểm cố hữu đó là chúng được xây dựng bởi

những diễn viên thật cho nên nhiều khi người

xem thấy nó “không thật” bởi các lý do an

toàn khi đóng phim Do vậy, hiệu quả tuyên truyền không cao

Sử dụng công nghệ thực tại ảo kết hợp với các kết quả nghiên cứu va chạm ở trên, chúng

tôi xây dựng hệ thống “Giúp bạn đi an toàn

khi tham gia giao thông” để mô phỏng các

tính huống giao thông thường xảy ra trong thực tế Mỗi tính huống sẽ dạy cho bạn biết cách đi như thế nào để an toàn nhất khi bạn gặp tình huống tương tự

Hiện tại, chúng tôi đã xây dựng được một tình

huống đó là “Đỗ đúng phần đường quy định”,

một tình huống mà theo các báo cáo về tai nạn giao thông là thường xảy ra nhất

Một số cảnh của tình huống này được demo bên dưới

Hình 4 Các phương tiện giao thông Hình 5 Chiếc xe máy đỗ sai làn đường

Hình 6 Một chiếc xe tô không kịp phanh đã đâm

vào xe máy đỗ sai đường đó

Hình 7 Mở rộng mô phỏng với phương tiện ôtô

tham gia giao thông

Trang 9

KẾT LUẬN

Va chạm là vấn đề không thể thiếu trong bất

kỳ một hệ thống thực tại ảo nào Do vậy, đã

có rất nhiều kết quả nghiên cứu về vấn đề này

và hầu như các nghiên cứu đó đều tập trung

vào các phương pháp phát hiện gần đúng va

chạm dựa vào các hình bao Bài báo này trình

bày một kỹ thuật phát hiện va chạm dựa trên

việc tính toán các hộp bao theo hướng

(Oriented Bounding Boxes -OBBs) Việc áp

dụng kỹ thuật phát hiện va chạm dựa vào các

hộp bao OBBs vào hệ thống “Giúp bạn đi an

toàn khi tham gia giao thông” cho thấy kỹ

thuật này đảm bảo các yêu cầu về tốc độ (tính

thời gian thực) và đặc biệt là độ chính xác

TÀI LIỆU THAM KHẢO

1 David Eberly, “Dynamic Collision Detection

using Oriented Bounding Boxes”, Geometric

Tools, Inc, 1999

2 Devid Eberly, “Dynamic Collision Detection using Oriented Bounding Boxes”,

http://www.geometrictools.com ,1999

3 Eugene Laptev, “Collision Detection - Fastcar”, Oxford Dynamics”, www.oxforddynamics.co.uk,

2002

4 Diego Ruspini, Oussama Khatib, “A Framework for Multi-Contact Multi-Body Dynamic Simulation and Haptic Display”, Proceedings of the 2000

IEEE/RSj International Conference on Intelligent Robots and Systems, 2000

5 Nick Bobic,”Advanced Collision Detection Techniques”, http://www.gamasutra.com, 2000

6 Russell Smith, “Open Dynamics Engine”,

http://www.ode.org, 2006

7 WANG Xiao-rong, WANG Meng, Li Chun-gui,

“Research on Collision Detection Algorithm Based

on AABB”, 2009 Fifth International Conference on

Natural Computation, pp 422-424, 2009

8 Hu Songhua, Yu Lizhen, “Optimization of Collision Detection Algorithm based on OBB”,

International Conference on Measuring Technology and Mechatronics Automation,

SUMMARY

THE COLLISION CALCULATION BASED ON OBBS TECHNIQUE APPLIED FOR A VIRTUAL REALITY SYSTEM SIMULATED TRAFFIC

Do Nang Toan, Nong Minh Ngoc *

Institute of Information Technology, Thai Nguyen University

Collision is an indispensable issue in any virtual reality (VR) system Therefore, the research on collision detection is a top target that the virtual reality system to pays attention This paper presents a collision detection technique based on the calculation of the oriented bounding box (OBB) and the improvement of it for collision detection

Its result has been applied to our system is "Helping you in safety traffic" - a virtual reality system

simulated traffic It can be helps human been know how to safely in traffic

Keywords: Collision Detection, OBBs, AABB, VR

Ngày nhận bài:08/5/2014; Ngày phản biện:20/5/2014; Ngày duyệt đăng: 09/6/2014

Phản biện khoa học: TS Vũ Vinh Quang – Trường Đại học Công nghệ Thông tin & Truyền thông - ĐHTN

*

Tel: 0968 595888

Ngày đăng: 10/02/2020, 02:08

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm