Collision and Proximity Queries Dinesh Manocha Department of Computer Science University of North Carolina
Proximity Queries A procedure to compute the spatial relation between objects. Collision
GDC’03 Proximity Queries Geometric reasoning of spatial relationships among objects (in a dynamic environment) d Closest Points & Separation Distance d Penetration Depth Collision Detection Contact Points & Normals
Problem Domain Specifications Model Representations –polyhedra (convex vs. non-convex vs. soups) –CSG, implicits, parametrics, point-clouds Type of Queries –discrete vs. continuous query –distance vs. penetration computation –estimated time to collision Simulation Environments –pairwise vs. n-body –static vs. dynamic –rigid vs. deformable
Applications Robot motion planning Simulation of (dis-)assembly tasks Tolerance verification Simulation-based design Ergonomics analysis Haptic rendering Physics-based modeling and simulation
History Studied over 4 decades in Computational Geometry Robotics & Automation Simulated Environments Computer Animation Physically-based Modeling
Earlier work: 1970s and 1980s Algorithms for 2D & 3D intersection computation Collision checking and avoidance
1990’s: considerable momentum Distance computation between convex polytopes (Gilbert et al. 1998; Lin & Canny’91) Bounding volume hierarchies (sphere-trees, OBBTrees, k-DOP trees, Shelltrees) N-body collision checking (sweep-and-prune, grid-based methods) Collision systems for rigid models (I-Collide, RAPID, V-Collide, SOLID, QuickCD, PQP,….)
1990’s: considerable momentum Distance computation between convex polytopes (Gilbert et al. 1998; Lin & Canny’91) Bounding volume hierarchies (sphere-trees, OBBTrees, k-DOP trees, Shelltrees) N-body collision checking (sweep-and-prune, grid-based methods) Collision systems for rigid models (I-Collide, RAPID, V-Collide, SOLID, QuickCD, PQP,….)
1990’s: considerable momentum Collision and contact computations for Physics- based simulation (Baraff’92; Lin’93; Mirtich’95)
1990’s: considerable momentum Collision checking for virtual environments (Cohen et al.’95)
1990’s: considerable momentum Haptic rendering (Gregory et al.’98; H-Collide)
Last years Novel algorithms –Discrete vs. continuous collision detection –Penetration depth computation –Deformable models –Self-collisions and breaking objects Utilize the parallelism in multi-core CPUs and many-core GPUs Development of Physics engines
Focus of this Course Recent research on collision and proximity queries Implementation in Game Physics libraries
Recent Research Continuous collision detection and penetration depth queries (Young Kim) Algorithms for deformable, breaking and volume meshes (Sungeui Yoon) Acceleration using GPU parallelism (Dinesh Manocha)
Game Physics Simulation Bullet Physics Library (Erwin Coumans) NVIDIA PHYSX (Richard Tonge)