collision detection - wanho choiwanochoi.com/lecture/collision_detection.pdf · 2019-04-25 ·...

20
Collision Detection Wanho Choi (wanochoi.com)

Upload: others

Post on 07-Jul-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Collision Detection

Wanho Choi(wanochoi.com)

Collision (충돌)• Real world objects• 충돌시 서로 통과하지 못함 (non-penetrating solidity)

• Virtual world objects• 특별한 처리를 해주지 않는다면 서로 통과하여 지나감

Collision Resolution (충돌 처리)• Collision detection (충돌 탐지)• 두 물체가 충돌하는가?• 기하학(geometry)적인 문제

• Collision response (충돌 반응)• 만약 두 물체가 충돌한다면 충돌 후 어떻게 반응하는가?• 물리학(physics)적인 문제

Collision Resolution (충돌 처리)• Collision detection (충돌 탐지)• 두 물체가 충돌하는가?• 기하학(geometry)적인 문제

• Collision response (충돌 반응)• 만약 두 물체가 충돌한다면 충돌 후 어떻게 반응하는가?• 물리학(physics)적인 문제

※ 이 발표에서는 collision detection만을 다룸.

Strategy (전략)Collision detection을 두 단계로 나누어서 진행한다!

• Broad-phase collision detection• 우선 충돌 가능성 여부를 단순화하여 빠르게 찾아냄• 충돌 가능성이 없는 물체들을 신속하게 제거함• 정밀 테스트를 위한 후보군을 추려냄

• Narrow-phase collision detection• 첫 번째 테스트를 통과한 충돌 가능성이 있는 후보군에 대해서 정밀 검사를 수행함

Strategy (전략)

https://www.toptal.com/game/video-game-physics-part-ii-collision-detection-for-solid-objects

Strategy (전략)

https://www.toptal.com/game/video-game-physics-part-ii-collision-detection-for-solid-objects

Strategy (전략)

http://www.haroldserrano.com/blog/how-a-physics-engine-works-an-overview

k-Dop• k개의 고정된 방향의 평면들로 둘러싸여진 부피• AABB의 모서리를 잘라낸 형태

http://jp.51studyit.com/article/details/19574.htm

k-Dop• k개의 고정된 방향의 평면들로 둘러싸여진 부피• AABB의 모서리를 잘라낸 형태

https://habrahabr.ru/post/257339/

Bounding Volume Elements

http://www.scielo.org.co/scielo.php?script=sci_arttext&pid=S0123-30332015000100005

Sphere Packing

http://http.developer.nvidia.com/GPUGems3/gpugems3_ch29.html

Level Set Method

http://http.developer.nvidia.com/GPUGems3/gpugems3_ch34.html

Brute Force Algorithm• 충돌 검출을 해야하는 n개의 물체가 있을 때,

i번째 물체에 대해서 나머지 (n-1)개의 물체들에 대해서 충돌 여부를 계산

• Complexity: O(n2 )

Computer Graphics에서 절대적으로 피해야하는 복잡도!

• Spatial partitioning

Acceleration Structure

http://www.slideshare.net/Mark_Kilgard/26accelstruct

Uniform Hash Grid

http://www.hystsim.ethz.ch/research/projects/active/collision_detection

Quadtree (Octree) Grid

http://www.videotutorialsrock.com/opengl_tutorial/collision_detection/text.php

k-D Tree

https://people.eecs.berkeley.edu/~sequin/CS184/IMGS/KdTree.GIF

BVH (Bounding Volume Hierarchy)

https://devblogs.nvidia.com/parallelforall/thinking-parallel-part-ii-tree-traversal-gpu/

Q & A