Fast and Accurate Collision Detection for Virtual Environments

A realistic simulation system, which couples geometry and physics, can provide a useful toolkit for virtual environments. Interactions among moving objects in the virtual worlds are modeled by dynamic constraints and contact analysis. In order to portray the geometric interaction in a dynamical system or to simulate physical behaviors of entities in the virtual environments, it is essential to perform collision detection at interactive rate with minimal computation possible. In this paper, we present efficient algorithms for contact determination and interference detection between geometric models undergoing rigid motion. The set of models includes polyhedra and surfaces described by B-splines. The algorithms make use of temporal and spatial coherence between successive instances to reduce the number of pairwise tests and hierarchical data structures for checking overlaps between a pair of objects. Their running time is a function of the motion between successive instances. The main characteristics of these algorithms are their simplicity and efficiency. They have been implemented. A subset of these implementations, including I-Collide, RAPID and V-Collide are available as part of the collision detection packages at the UNC-CH website.

[1]  David G. Kirkpatrick,et al.  Determining the Separation of Preprocessed Polyhedra - A Unified Approach , 1990, ICALP.

[2]  Dinesh Manocha,et al.  An efficient surface intersection algorithm based on lower-dimensional formulation , 1997, TOGS.

[3]  James K. Hahn,et al.  Realistic animation of rigid bodies , 1988, SIGGRAPH.

[4]  Brian Mirtich,et al.  V-Clip: fast and robust polyhedral collision detection , 1998, TOGS.

[5]  Dinesh Manocha,et al.  Spherical shell: a higher order bounding volume for fast proximity queries , 1998 .

[6]  George Vanĕček,et al.  Collision Detection and Analysis in a Physically Based Simulation , 1991 .

[7]  Joseph S. B. Mitchell,et al.  Real-time collision detection for motion simulation within complex environments , 1996, SIGGRAPH '96.

[8]  David Baraff,et al.  Curved surfaces and coherence for non-penetrating rigid body simulation , 1990, SIGGRAPH.

[9]  Raimund Seidel,et al.  Linear programming and convex hulls made easy , 1990, SCG '90.

[10]  A. James Stewart,et al.  The architecture of Newton, a general-purpose dynamics simulator , 1989, Proceedings, 1989 International Conference on Robotics and Automation.

[11]  Bruce F. Naylor,et al.  Set operations on polyhedra using binary space partitioning trees , 1987, SIGGRAPH.

[12]  Dinesh Manocha,et al.  Rapid and Accurate Contact Determination between Spline Models using ShellTrees , 1998, Comput. Graph. Forum.

[13]  David Baraff,et al.  Analytical methods for dynamic simulation of non-penetrating rigid bodies , 1989, SIGGRAPH.

[14]  Jane Wilhelms,et al.  Collision Detection and Response for Computer Animation , 1988, SIGGRAPH.

[15]  Leonidas J. Guibas,et al.  BOXTREE: A Hierarchical Representation for Surfaces in 3D , 1996, Comput. Graph. Forum.

[16]  Dinesh Manocha,et al.  Algorithms for intersecting parametric and algebraic curves I: simple intersections , 1994, TOGS.

[17]  John F. Canny,et al.  Impulse-based simulation of rigid bodies , 1995, I3D '95.

[18]  S. A. Cameron,et al.  Determining the minimum translational distance between two convex polyhedra , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[19]  Joseph S. B. Mitchell,et al.  Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs , 1998, IEEE Trans. Vis. Comput. Graph..

[20]  S. Sathiya Keerthi,et al.  A fast procedure for computing the distance between complex objects in three-dimensional space , 1988, IEEE J. Robotics Autom..

[21]  Dinesh Manocha,et al.  V-COLLIDE: accelerated collision detection for VRML , 1997, VRML '97.

[22]  Ming C. Lin,et al.  Collision Detection between Geometric Models: A Survey , 1998 .

[23]  Dinesh Manocha,et al.  Partitioning and Handling Massive Models for Interactive Collision Detection , 1999, Comput. Graph. Forum.

[24]  Dinesh Manocha,et al.  I-COLLIDE: an interactive and exact collision detection system for large-scale environments , 1995, I3D '95.

[25]  John F. Canny,et al.  Collision Detection for Moving Polyhedra , 1986, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[26]  Dinesh Manocha,et al.  Algorithms for Intersecting Parametric and Algebraic Curves II: Multiple Intersections , 1995, CVGIP Graph. Model. Image Process..

[27]  Stephen Cameron,et al.  Collision detection by four-dimensional intersection testing , 1990, IEEE Trans. Robotics Autom..

[28]  Dinesh Manocha,et al.  Fast Proximity Queries with Swept Sphere Volumes , 1999 .

[29]  N. Megiddo Linear-time algorithms for linear programming in R3 and related problems , 1982, FOCS 1982.

[30]  Stephen Cameron,et al.  Approximation hierarchies and S-bounds , 1991, SMA '91.

[31]  Dinesh Manocha,et al.  OBBTree: a hierarchical structure for rapid interference detection , 1996, SIGGRAPH.

[32]  F. Frances Yao,et al.  Computational Geometry , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[33]  Christoph M. Hoffmann,et al.  Geometric and Solid Modeling: An Introduction , 1989 .

[34]  Stephen Cameron,et al.  A comparison of two fast algorithms for computing the distance between convex polyhedra , 1997, IEEE Trans. Robotics Autom..

[35]  Yu Wang,et al.  Modeling impact dynamics for robotic operations , 1987, Proceedings. 1987 IEEE International Conference on Robotics and Automation.

[36]  Michael Gleicher,et al.  Interactive dynamics , 1990, I3D '90.

[37]  Ming C. Lin,et al.  Efficient collision detection for animation and robotics , 1993 .

[38]  Alejandro M. García-Alonso,et al.  Solving the collision detection problem , 1994, IEEE Computer Graphics and Applications.