This Article 
 Bibliographic References 
 Add to: 
Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs
January-March 1998 (vol. 4 no. 1)
pp. 21-36

Abstract—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 1,000 collision queries per second.

In this paper, 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] J. Arvo and D. Kirk, "A Survey of Ray Tracing Acceleration Techniques," An Introduction to Ray Tracing, A.S. Glassner, ed., Academic Press, San Diego, 1989.
[2] D.H. Ballard, "Strip Trees: A Hierarchical Representation for Curves," Comm. ACM, vol. 24, no. 5, pp. 310-321, 1981.
[3] D. Baraff, "Curved Surfaces and Coherence for Non-Penetrating Rigid Body Simulation," Computer Graphics, vol. 24, no. 4, pp. 19-28, Aug. 1990.
[4] D. Baraff, "Fast Contact Force Computation for Nonpenetrating Rigid Bodies," Computer Graphics (SIGGRAPH '94 Proc.), vol. 28, pp. 23-34,Orlando, Fla., July 1994.
[5] D. Baraff, "Interactive Simulation of Solid Rigid Bodies," IEEE Computer Graphics&Applications, Vol. 15, No. 3, May 1995, pp. 63-75.
[6] G. Barequet, B. Chazelle, L.J. Guibas, J.S.B. Mitchell, and A. Tal, "BOXTREE: A Hierarchical Representation for Surfaces in 3D," EuroGraphics '96, J. Rossignac and F. Sillion, eds., vol. 15, no. 3, pp. C-387-C-484. Blackwell Publishers, Eurographics Assoc., 1996.
[7] N. Beckmann, H.-P. Kriegel, R. Schneider, and B. Seeger, “The R*-Tree: An Efficient and Robust Access Method for Points and Rectangles,” Proc. ACM SIGMOD Conf. Management of Data, 1990.
[8] W. Bouma and G. ${\rm Van\mathord{\buildrel{\lower3pt\hbox{$\scriptscriptstyle\smile$}}\over e} \mathord{ \buildrel{\lower3pt\hbox{$\scriptscriptstyle\smile$}}\over c} ek},$Jr., "Collision Detection and Analysis in a Physical Based Simulation," Eurographics Workshop on Animation and Simulation, pp. 191-203,Vienna, Sept.19, 1991.
[9] S. Cameron, "Collision Detection by Four-Dimensional Intersection Testing," IEEE Trans. on Robotics and Automation, Vol. 6, No. 3, 1990, pp. 291-302.
[10] J.F. Canny, "Collision Detection for Moving Polyhedra," IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 8, pp. 200-209, 1986.
[11] J. Cohen, M. Lin, D. Manocha, and M. Ponamgi, "I-Collide: An Interactive and Exact Collision Detection System for Large-Scale Environments," Proc. ACM Interactive 3D Graphics Conf., pp. 189-196, 1995.
[12] International Business Machines Corporation, User's Guide, IBM 3D Interaction AcceleratorTM, version 1, release 2.0. IBM T.J. Watson Research Center, Yorktown Heights, N.Y., Sept. 1995.
[13] A. Crosnier and J. Rossignac, "T-BOX: The Intersection of Three Mini-Max Boxes," internal report, IBM T.J. Watson Research Center, Yorktown Heights, N.Y., 1995.
[14] D. Dobkin, J. Hershberger, D. Kirkpatrick, and S. Suri, "Computing the Intersection-Depth of Polyhedra," Algorithmica, vol. 9, pp. 518-533, 1993.
[15] D. Dobkin and D. Kirkpatrick, "Fast Detection of Polyhedral Intersection," Theoretical Computer Science, vol. 27, pp. 241-253, 1983.
[16] D. Dobkin and D. Kirkpatrick, "A Linear Algorithm for Determining the Separation of Convex Polyhedra," J. Algorithms, vol. 6, pp. 381-392, 1985.
[17] D. Dobkin and D. Kirkpatrick, "Determining the Separation of Preprocessed Polyhedra—A Unified Approach," Proc. 17th Int'l Colloquium Automata, Languages, and Programming, Lecture Notes in Computer Science, vol. 443, pp. 400-413. Springer-Verlag, 1990.
[18] C.J. Lee and S.D. Wang, Fingerprint Feature Extraction Using Gabor Filters Electronics Letters, vol. 35, no. 4, pp. 288-290, 1999.
[19] A. Garcia-Alonso, N. Serrano, and J. Flaquer, "Solving the Collision Detection Problem," IEEE Computer Graphics and Applications, vol. 13, no. 3, pp. 36-43, 1994.
[20] J. Goldsmith and J. Salmon,“Automatic creation of object hierarchies for ray tracing,” IEEE Computer Graphics and Applications, vol. 7, no. 5, pp. 14-20, May 1987
[21] S. Gottschalk, M. Lin, and D. Manocha, "Obb-Tree: A Hierarchical Structure for Rapid Interference Detection," Proc. ACM Siggraph '96, pp. 171-180, 1996.
[22] N. Greene, "Detecting Intersection of a Rectangular Solid and a Convex Polyhedron," Graphics Gems IV, P.S. Heckbert, ed., pp. 74-82. Academic Press, 1994.
[23] M. Held, "A Library of Efficient and Reliable Intersection Routines," technical report, Dept. of Applied Mathematics and Statistics, State Univ. of New York at Stony Brook, 1997.
[24] M. Held, J.T. Klosowski, and J.S.B. Mitchell, "Evaluation of Collision Detection Methods for Virtual Reality Fly-Throughs," Proc. Seventh Canadian Conf. Computer Geometry, pp. 205-210, 1995.
[25] M. Held, J.T. Klosowski, and J.S.B. Mitchell, "Speed Comparison of Generalized Bounding Box Hierarchies," technical report, Dept. of Applied Math, State Univ. of New York at Stony Brook, 1995.
[26] M. Held, J.T. Klosowski, and J.S.B. Mitchell, "Real-Time Collision Detection for Motion Simulation Within Complex Environments," SIGGRAPH '96 Visual Proc., p. 151,New Orleans, Aug. 1996
[27] P.M. Hubbard, "Collision Detection for Interactive Graphics Applications," IEEE Trans. Visualization and Computer Graphics, Vol. 1, No. 3, Sept. 1995, pp. 218-230.
[28] P.M. Hubbard, "Approximating Polyhedra with Spheres for Time-Critical Collision Detection," ACM Trans. Graphics, vol. 15, no. 3, pp. 179-210, July 1996.
[29] T.L. Kay and J.T. Kajiya, "Ray Tracing Complex Scenes," Computer Graphics (SIGGRAPH '86 Proc.), vol. 20, pp. 269-278, Aug. 1986.
[30] M.C. Lin, "Efficient Collision Detection for Animation and Robotics," PhD thesis, Dept. of Electrical Eng. and Computer Science, Univ. of California, Berkeley, Dec. 1993.
[31] M. Lin and J. Canny, "Efficient Algorithms for Incremental Distance Computation," Proc. IEEE Int'l Conf. Robotics and Automation, vol. 2, pp. 1,008-1,014, 1991.
[32] M. Lin and D. Manocha, "Fast Interference Detection Between Geometric Models," Visual Computing, vol. 11, no. 10, pp. 542-561, 1995.
[33] M. Moore and J. Wilhelms, "Collision Detection and Response for Computer Animation," Computer Graphics, vol. 22, no. 4, pp. 289-298, 1988.
[34] B. Naylor, J. Amanatides, and W. Thibault, "Merging BSP Trees Yield Polyhedral Modeling Results," Proc. ACM Siggraph, pp. 115-124, 1990.
[35] H. Noborio, S. Fukuda, and S. Arimoto, "Fast Interference Check Method Using Octree Representation," Advanced Robotics, vol. 3, no. 3, pp. 193-212, 1989.
[36] J. O'Rourke, Computational Geometry in C. Cambridge Univ. Press, 1993.
[37] I. Palmer and R. Grimsdale, "Collision Detection for Animation Using Sphere-Trees," Computer Graphics Forum, vol. 14, no. 2, pp. 105-116, June 1995.
[38] M. Ponamgi, D. Manocha, and M. Lin, "Incremental Algorithms for Collision Detection Between General Solid Models," Proc. ACM/Siggraph Symp Solid Modeling, pp. 293-304, 1995.
[39] F.P. Preparata and M.I. Shamos, Computational Geometry. Springer-Verlag, 1985.
[40] E. Schömer, "Interaktive Montagesimulation mit Kollisionserkennung," PhD thesis, Universität des Saarlandes, Germany, 1994.
[41] E. Schömer and C. Thiel, "Subquadratic Algorithms for the General Collision Detection Problem," Abstracts 12th European Workshop Computational Geometry (CG '96), pp. 95-101, 1996.
[42] G. ${\rm Van\mathord{\buildrel{\lower3pt\hbox{$\scriptscriptstyle\smile$}}\over e} \mathord{ \buildrel{\lower3pt\hbox{$\scriptscriptstyle\smile$}}\over c} ek},$Jr., "Brep-Index: A Multidimensional Space Partitioning Tree," Int'l J. Computational Geometry and Applications, vol. 1, no. 3, pp. 243-261, 1991.
[43] S. Suri, P.M. Hubbard, and J.F. Hughes, "Collision Detection in Aspect and Scale Bounded Polyhedra," Proc. Ninth ACM-SIAM Symp. Discrete Algorithms, to appear, Jan. 1998.
[44] H. Weghorst, G. Hooper, and D.P. Greenberg, “Improved Computational Methods for Ray Tracing,” ACM Trans. Graphics, vol. 3, no. 1, pp. 52-69, Jan. 1984.
[45] G. Zachmann, "Exact and Fast Collision Detection," Diploma thesis, Fraunhofer Inst. for Computer Graphics, Technische Hochschule Darmstadt, Fachbereich Informatik, Germany, 1994.
[46] G. Zachmann and W. Felger, "The BoxTree: Enabling Real-Time and Exact Collision Detection of Arbitrary Polyhedra," Proc. SIVE '95, pp. 104-113, 1995.
[47] K. Zikan and P. ${\rm Kone\mathord{\buildrel{\lower3pt\hbox{$\scriptscriptstyle\smile$}}\over c} ny}$, "Lower Bound of Distance in 3D," Proc. Winter School of Computer Graphics (WSCG '97), vol. 3, pp. 640-649, 1997. Available as Technical Report FIMU-RS-97-01, Faculty of Informatics, Masaryk Univ., Czech Republic, Jan. 1997. ( /)

Index Terms:
Collision detection, intersection searching, bounding volume hierarchies, discrete orientation polytopes, bounding boxes, virtual reality, virtual environments.
James T. Klosowski, Martin Held, Joseph S.B. Mitchell, Henry Sowizral, Karel Zikan, "Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs," IEEE Transactions on Visualization and Computer Graphics, vol. 4, no. 1, pp. 21-36, Jan.-March 1998, doi:10.1109/2945.675649
Usage of this product signifies your acceptance of the Terms of Use.