Incremental Algorithms for Collision Detection Between Polygonal Models

Fast and accurate collision detection between general polygonal models is a fundamental problem in physically based and geometric modeling, robotics, animation, and computer-simulated environments. Most earlier collision detection algorithms are either restricted to a class of models (such as convex polytopes) or are not fast enough for practical applications. The authors present an incremental algorithm for collision detection between general polygonal models in dynamic environments. The algorithm combines a hierarchical representation with incremental computation to rapidly detect collisions. It makes use of coherence between successive instances to efficiently determine the number of object features interacting. For each pair of objects, it tracks the closest features between them on their respective convex hulls. It detects the objects' penetration using pseudo internal Voronoi cells and constructs the penetration region, thus identifying the regions of contact on the convex hulls. The features associated with these regions are represented in a precomputed hierarchy. The algorithm uses a coherence based approach to quickly traverse the precomputed hierarchy and check for possible collisions between the features. They highlight its performance on different applications.

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

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

[3]  John M. Snyder,et al.  Interval methods for multi-point collisions between time-dependent curved surfaces , 1993, SIGGRAPH.

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

[5]  Elmer G. Gilbert,et al.  New distances for the separation and penetration of objects , 1994, Proceedings of the 1994 IEEE International Conference on Robotics and Automation.

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

[7]  Dinesh Manocha,et al.  Incremental Algorithms for Collision Detection Between General Solid Models , 1994 .

[8]  David E. Muller,et al.  Finding the Intersection of two Convex Polyhedra , 1978, Theor. Comput. Sci..

[9]  Martin Held,et al.  Evaluation of Collision Detection Methods for Virtual Reality Fly-Throughs , 1995 .

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

[11]  Ming C. Lin,et al.  A fast algorithm for incremental distance calculation , 1991, Proceedings. 1991 IEEE International Conference on Robotics and Automation.

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

[13]  Tom Duff,et al.  Interval arithmetic recursive subdivision for implicit functions and constructive solid geometry , 1992, SIGGRAPH.

[14]  John M. Snyder,et al.  An interactive tool for placing curved surfaces without interpenetration , 1995, SIGGRAPH.

[15]  D. Baraff Dynamic simulation of nonpenetrating rigid bodies , 1992 .

[16]  Bernard Chazelle,et al.  An optimal algorithm for intersecting three-dimensional convex polyhedra , 1989, 30th Annual Symposium on Foundations of Computer Science.

[17]  Bruce F. Naylor,et al.  Interactive solid geometry via partitioning trees , 1992 .

[18]  Henry Fuchs,et al.  On visible surface generation by a priori tree structures , 1980, SIGGRAPH '80.

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

[20]  David Baraff,et al.  Interactive simulation of solid rigid bodies , 1995, IEEE Computer Graphics and Applications.

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

[22]  Bernard Chazelle,et al.  Intersection of convex objects in two and three dimensions , 1987, JACM.

[23]  Chandrajit L. Bajaj,et al.  Convex Decomposition of Polyhedra and Robustness , 1992, SIAM J. Comput..

[24]  Dinesh Manocha,et al.  Incremental algorithms for collision detection between solid models , 1995, Symposium on Solid Modeling and Applications.

[25]  Alan H. Barr,et al.  Geometric collisions for time-dependent parametric surfaces , 1990, SIGGRAPH.

[26]  Joseph O'Rourke,et al.  Computational Geometry in C. , 1995 .

[27]  David G. Kirkpatrick,et al.  A Linear Algorithm for Determining the Separation of Convex Polyhedra , 1985, J. Algorithms.

[28]  Peter M. Will,et al.  Determining the Three-Dimensional Convex Hull of a Polyhedron , 1976, IBM J. Res. Dev..

[29]  Daniel E. Whitney,et al.  Assembly research , 1980, Autom..

[30]  John E. Hopcroft,et al.  Simulation of physical systems from geometric models , 1987, IEEE J. Robotics Autom..

[31]  George Vanecek,et al.  Modeling contacts in a physically based simulation , 1993, Solid Modeling and Applications.

[32]  Ronald S. Fearing,et al.  Dynamic modeling of a part mating problem: threaded fastener insertion , 1991, Proceedings IROS '91:IEEE/RSJ International Workshop on Intelligent Robots and Systems '91.

[33]  Greg Turk,et al.  Interactive Collision Detection for Molecular Graphics , 1990 .

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

[35]  Bernard Chazelle,et al.  Convex Partitions of Polyhedra: A Lower Bound and Worst-Case Optimal Algorithm , 1984, SIAM J. Comput..

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

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

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

[39]  David P. Dobkin,et al.  The quickhull algorithm for convex hulls , 1996, TOMS.

[40]  J. Hopcroft Electronic prototyping , 1988 .

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