Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs

Collision detection is of paramount importance for many applications in computer graphics and visualization. Typically, the input to a collision detection algorithm is a large number of geometric objects comprising an environment, together with a set of objects moving within the environment. In addition to determining accurately the contacts that occur between pairs of objects, one needs also to do so at real-time rates. Applications such as haptic force feedback can require over 1000 collision queries per second. We develop and analyze a method, based on bounding-volume hierarchies, for efficient collision detection for objects moving within highly complex environments. Our choice of bounding volume is to use a discrete orientation polytope (k-DOP), a convex polytope whose facets are determined by halfspaces whose outward normals come from a small fixed set of k orientations. We compare a variety of methods for constructing hierarchies (BV-trees) of bounding k-DOPs. Further, we propose algorithms for maintaining an effective BV-tree of k-DOPs for moving objects, as they rotate, and for performing fast collision detection using BV-trees of the moving objects and of the environment. Our algorithms have been implemented and tested. We provide experimental evidence showing that our approach yields substantially faster collision detection than previous methods.

[1]  Philip M. Hubbard,et al.  Collision Detection for Interactive Graphics Applications , 1995, IEEE Trans. Vis. Comput. Graph..

[2]  Subhash Suri,et al.  Collision detection in aspect and scale bounded polyhedra , 1998, SODA '98.

[3]  Elmar Schömer,et al.  Subquadratic algorithms for the general collision detection problem , 1995 .

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

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

[6]  Hiroshi Noborio,et al.  Fast interference check method using octree representation , 1988, Adv. Robotics.

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

[8]  Mariette Yvinec,et al.  A Complete and Efficient Algorithm for the Intersection of a General and a Convex Polyhedron , 1993, WADS.

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

[10]  Richard L. Grimsdale,et al.  Collision Detection for Animation using Sphere‐Trees , 1995, Comput. Graph. Forum.

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

[12]  James T. Kajiya,et al.  Ray tracing complex scenes , 1986, SIGGRAPH.

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

[14]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

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

[16]  Gabriel Zachmann,et al.  Exact and Fast Collision Detection , 1994 .

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

[18]  James Arvo,et al.  A survey of ray tracing acceleration techniques , 1989 .

[19]  Hans-Peter Kriegel,et al.  The R*-tree: an efficient and robust access method for points and rectangles , 1990, SIGMOD '90.

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

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

[22]  Donald P. Greenberg,et al.  Improved Computational Methods for Ray Tracing , 1984, TOGS.

[23]  Ned Greene,et al.  Detecting Intersection of a Rectangular Solid and a Convex Polyhedron , 1994, Graphics gems.

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

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

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

[27]  Philip M. Hubbard,et al.  Approximating polyhedra with spheres for time-critical collision detection , 1996, TOGS.

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

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

[30]  J. O´Rourke,et al.  Computational Geometry in C: Arrangements , 1998 .

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

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

[33]  Dana H. Ballard,et al.  Strip trees: a hierarchical representation for curves , 1981, CACM.

[34]  John Salmon,et al.  Automatic Creation of Object Hierarchies for Ray Tracing , 1987, IEEE Computer Graphics and Applications.

[35]  David G. Kirkpatrick,et al.  Fast Detection of Polyhedral Intersection , 1983, Theor. Comput. Sci..

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

[37]  George Vanecek,et al.  BRep-Index: a multidimensional space partitioning tree , 1991, SMA '91.

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

[39]  Karel Zikan,et al.  Lower Bound of Distance in 3D , 1997 .

[40]  M HubbardPhilip Collision Detection for Interactive Graphics Applications , 1995 .

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

[42]  David Baraff,et al.  Fast contact force computation for nonpenetrating rigid bodies , 1994, SIGGRAPH.