OBBTree: a hierarchical structure for rapid interference detection

We present a data structure and an algorithm for efficient and exact interference detection amongst complex models undergoing rigid motion. The algorithm is applicable to all general polygonal models. It pre-computes a hierarchical representation of models using tight-fitting oriented bounding box trees (OBBTrees). At runtime, the algorithm traverses two such trees and tests for overlaps between oriented bounding boxes based on a separating axis theorem, which takes less than 200 operations in practice. It has been implemented and we compare its performance with other hierarchical data structures. In particular, it can robustly and accurately detect all the contacts between large complex geometries composed of hundreds of thousands of polygons at interactive rates. CR

[1]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[2]  Richard O. Duda,et al.  Pattern classification and scene analysis , 1974, A Wiley-Interscience publication.

[3]  Peter E. Hart,et al.  Pattern classification and scene analysis , 1974, A Wiley-Interscience publication.

[4]  Turner Whitted,et al.  A 3-dimensional representation for fast rendering of complex scenes , 1980, SIGGRAPH '80.

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

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

[7]  T. Sederberg,et al.  Comparison of three curve intersection algorithms , 1986 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[22]  Ari Rappoport The extended convex difference tree (ECDT) representation for {$N$}-dimensional polyhedra , 1991, Int. J. Comput. Geom. Appl..

[23]  Emo Welzl,et al.  Smallest enclosing disks (balls and ellipsoids) , 1991, New Results and New Trends in Computer Science.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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