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]  Brian Mirtich,et al.  V-Clip: fast and robust polyhedral collision detection , 1998, TOGS.

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

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

[4]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

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

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

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

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

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

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

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

[12]  John Amanatides,et al.  Merging BSP trees yields polyhedral set operations , 1990, SIGGRAPH.

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

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

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

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

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

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

[19]  Ming C. Lin,et al.  A framework for fast and accurate collision detection for haptic interaction , 1998, Proceedings IEEE Virtual Reality (Cat. No. 99CB36316).

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

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

[22]  Philip M. Hubbard,et al.  Interactive collision detection , 1993, Proceedings of 1993 IEEE Research Properties in Virtual Reality Symposium.

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

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

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

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

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

[28]  Jean-Claude Latombe,et al.  Robot motion planning , 1970, The Kluwer international series in engineering and computer science.

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

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

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

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

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

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

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

[36]  Sean Quinlan,et al.  Efficient distance computation between non-convex objects , 1994, Proceedings of the 1994 IEEE International Conference on Robotics and Automation.

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

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

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