Collision and Proximity Queries Dinesh Manocha Department of Computer Science University of North Carolina dm@cs.unc.edu Proximity Queries Collision A procedure to compute the spatial relation between objects. Proximity Queries Geometric reasoning of spatial relationships among objects (in a dynamic environment) Collision Detection Contact Points & Normals d d Closest Points & Separation Distance GDC’03 Penetration Depth 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 Physicsbased 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 10-12 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)