Presentation is loading. Please wait.

Presentation is loading. Please wait.

Collision Detection Part II

Similar presentations


Presentation on theme: "Collision Detection Part II"— Presentation transcript:

1 Collision Detection Part II
David H. Eberly 3D Game Engine Design Graphics Lab Jong-In Choi

2 Abstract (1/2) Dynamic Object-Object Intersection
물체가 이동한 궤적을 고려하여 검사 Oriented Bounding Box Trees OBB Tree의 간략한 소개 Processing of Rotating and Moving Objects 회전하며 이동하는 물체의 충돌 검사 Graphics Lab Jong-In Choi

3 Abstract (2/2) Constructing an OBB Tree
A Simple Dynamic Collision Detection System OBB Tree를 이용한 충돌 검사 구현 Graphics Lab Jong-In Choi

4 Dynamic Object-Object Intersection (1/2)
하나는 정지, 다른 하나는 이동 움직이는 물체는 상대 속도(W)를 가짐 일정 시간동안 검색[0, tmax] 이동 정지 w 이동 tmax Graphics Lab Jong-In Choi

5 Dynamic Object-Object Intersection (2/2)
Spheres, Capsules, and Lozenges Oriented Boxes Oriented Boxes and Triangles Triangles Dynamic Static Sphere Capsule Lozenge Dist(pnt, {pnt, seg}) Dist(pnt, {seg, pgm}) Dist(pnt, {rct, hex, ppd}) Dist(seg, {pnt, seg}) Dist(seg, {seg, pgm}) Dist(seg, {rct, hex, ppd}) Dist(rct, {pnt, seg}) Dist(rct, {seg, pgm}) Dist(rct, {rct, hex, ppd}) Graphics Lab Jong-In Choi

6 Sphere Point Line Segment Graphics Lab Jong-In Choi

7 Capsule Line Segment Parallelogram Graphics Lab Jong-In Choi

8 Lozenge Rectangle Hexagon Parallelepiped Graphics Lab Jong-In Choi

9 Oriented Boxes (1/5) Finding the First Time of Intersection D
L R a1A1 a2A2 b1B1 b2B2 L: separating axis ai: edge length of box A Ai: axis normal of box A bi: edge length of box B Bi: axis normal of box B D: distance between boxes Graphics Lab Jong-In Choi

10 Oriented Boxes (2/5) Finding the First Time of Intersection  충돌이 아님 D
R(T) R0 R1 R(0) L C(0) C(T) C(T) C(0) R (0)< R0 + R 1 , R (tmax)> R0 + R 1 Sign(L•D(0)) = Sign(L•D(tmax))  충돌이 아님 Graphics Lab Jong-In Choi

11 Oriented Boxes (3/5) Added separating sxis Graphics Lab Jong-In Choi

12 Oriented Boxes (4/5) Finding a Point of Intersection Graphics Lab
Jong-In Choi

13 Oriented Boxes (5/5) Finding a Point of Intersection Graphics Lab
Jong-In Choi

14 Oriented Boxes and Triangles (1/8)
Finding the First Time of Intersection D L -R a1A1 a2A2 R E1 E0 p0 p1 p2 Min(ui) Max(ui) L: separating axis ai: edge length of box Ai: axis normal of box Ei: edge vector of triangle pi: vertex of triangle D: distance between boxes Graphics Lab Jong-In Choi

15 Oriented Boxes and Triangles (2/8)
Finding the First Time of Intersection Axis N p(0) p(T) -R R p(T) p(0) R > p(0) and R > p(T) -R < p(0) and -R > p(T)  충돌이 아님 Graphics Lab Jong-In Choi

16 Oriented Boxes and Triangles (3/8)
Finding the First Time of Intersection Axis Ak -R R p(0) p(T) R > p(0) and R > p(T) -R < p(0) and -R > p(T)  충돌이 아님 Graphics Lab Jong-In Choi

17 Oriented Boxes and Triangles (4/8)
Finding the First Time of Intersection Axis Ai X Ej p(0) p(T) -R R p(T) p(0) R > p(0) and R > p(T) -R < p(0) and -R > p(T)  충돌이 아님 Graphics Lab Jong-In Choi

18 Oriented Boxes and Triangles (5/8)
Finding a Point of Intersection Graphics Lab Jong-In Choi

19 Oriented Boxes and Triangles (6/8)
Graphics Lab Jong-In Choi

20 Oriented Boxes and Triangles (7/8)
Graphics Lab Jong-In Choi

21 Oriented Boxes and Triangles (8/8)
Graphics Lab Jong-In Choi

22 Triangles (1/4) Finding the First Time of Intersection D
Min(vi) D E0 E1 F1 F0 Max(vi) Min(ui) Max(ui) p0 p1 p2 q0 q1 q2 L: separating axis Ei: edge vector of triangle1 pi: vertex of triangle1 Ei: edge vector of triangle1 pi: vertex of triangle1 D: distance between boxes Graphics Lab Jong-In Choi

23 Triangles (2/4) Finding the First Time of Intersection Axis N or M
p(0) p(T) p(T) p(0) Graphics Lab Jong-In Choi

24 Triangles (3/4) Finding the First Time of Intersection Axis E X F p(0)
p(T) p(T) p(0) Graphics Lab Jong-In Choi

25 Triangles (4/4) Finding a Point of Intersection Graphics Lab
Jong-In Choi

26 Oriented Bounding Box Trees
Gottchalk, Lin, and Manocha 1996 충돌 검사의 계층적인 방법을 제시 동적인 물체에 확장 적용 가능 Graphics Lab Jong-In Choi

27 Processing of Rotating and Moving Objects
일정 시간 간격마다 충돌 검사 Equations of Motion Closed-Form Algorithm Algorithm Based on a Numerical Ordinary Differential Equation Solver Graphics Lab Jong-In Choi

28 Constructing an OBB Tree (1/2)
Subdivision rule Splitting longest axis of a box Partitioning the polygons according to center point lies on Recursively partition The Bounded polygons Graphics Lab Jong-In Choi

29 Constructing an OBB Tree (2/2)
Example Teapot, Torus Level 0 Level 2 Level 4 Level 6 Graphics Lab Jong-In Choi

30 A Simple Dynamic Collision Detection System
Testing for Collision Tree를 반복적으로 검색 Root  leaf: 하향식 검색 Finding Collision Detection OBB & OBB OBB & Triangle Triangle & Triangle Graphics Lab Jong-In Choi


Download ppt "Collision Detection Part II"

Similar presentations


Ads by Google