Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.