Collision Detection



Collision detection is an integral component of game engines that are designed to provide realistic animations of object interactions with the player and the game environment. Physically realistic dynamic simulations such as flight simulators and mobile robot simulators also require efficient collision detection algorithms. Intersection tests form the backbone of collision detection algorithms. They are also used in ray tracing algorithms, acceleration algorithms such as view frustum culling and portal culling, and in real-time animations. This chapter gives an extensive coverage of methods used for testing if primitives and bounding volumes overlap.

Collision detection in a large scene consisting of several objects requires efficient methods to minimize the number of intersection tests. This chapter discusses the usefulness of bounding volume hierarchies and spatial partitioning trees such as octrees, k-d trees and bounding interval hierarchies, and includes a coverage of important algorithms in each category.


Convex Hull Leaf Node Child Node Intersection Test Collision Detection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. Cline, D., Steele, K., & Egbert, P. (2006). Lightweight bounding volumes for ray tracing. Journal of Graphics Tools, 11(4), 61–71.Google Scholar
  2. de Berg, M. (2000). Computational geometry: Algorithms and applications (2nd rev. ed.). New York: Springer.Google Scholar
  3. Eberly, D. H. (2007). 3D game engine design: A practical approach to real-time computer graphics (2nd ed.). Amsterdam/London: Morgan Kaufmann.Google Scholar
  4. Eberly, D. H. (2010). Game physics (2nd ed.). Burlington: Morgan Kaufmann/Elsevier.Google Scholar
  5. Ericson, C. (2005). Real-time collision detection. Amsterdam/Boston: Elsevier.Google Scholar
  6. Gottschalk, S., Lin, M. C., & Manocha, D. (1996). OBB-Tree: A hierarchical structure for rapid interference detection. In: Computer graphics (SIGGRAPH), New Orleans.Google Scholar
  7. Hapala, M., & Havran, V. (2011). Kd-tree traversal algorithms for ray tracing. Computer Graphics Forum, 30(1), 199–213.CrossRefGoogle Scholar
  8. Kay, T. L., & Kajiya, J. T. (1986). Ray tracing complex scenes. In: Proceedings of computer graphics SIGGRAPH-86 (pp. 269–278).Google Scholar
  9. Klosowski, J. T., Held, M., et al. (1998). Efficient collision detection using bounding volume hierarchies of k-DOPs. IEEE Transactions on Visualization and Computer Graphics, 4(1), 21–36.CrossRefGoogle Scholar
  10. Moller, T. (1997). A fast triangle-triangle intersection test. Journal of Graphics, GPU and Game Tools, 2(2), 25–30.Google Scholar
  11. Moller, T., Haines, E., & Hoffman, N. (2008). Real-time rendering (3rd ed.). Wellesley: A.K. Peters.CrossRefGoogle Scholar
  12. O’Rourke, J. (1998). Computational geometry in C (2nd ed.). Cambridge: Cambridge University Press.MATHCrossRefGoogle Scholar
  13. Raabe, A., Tietjen, T., & Anlauf J. K. (2009). An exact and efficient triangle intersection test hardware. International conference on computer graphics theory (GRAPP-09), Lisbon.Google Scholar
  14. Samet, H. (1990a). Applications of spatial data structures: Computer graphics, image processing, and GIS. Reading: Addison-Wesley.Google Scholar
  15. Samet, H. (1990b). The design and analysis of spatial data structures. Reading: Addison-Wesley.Google Scholar
  16. Toussaint, G. (1983). Solving geometric problems with the rotating calipers. In: 2nd IEEE Mediterranean Electrotechnical Conference (MELECON '83), Athens.Google Scholar
  17. van den Bergen, G. (1997). Efficient collision detection of complex deformable models using AABB trees. Journal of Graphics Tools, 2(4), 1–14.MATHCrossRefGoogle Scholar
  18. van den Bergen, G. (2003). Collision detection in interactive 3D environments. San Francisco: Morgan Kaufmann.Google Scholar
  19. Wachter, C., & Keller, A. (2006). Instant ray tracing: The bounding interval hierarchy. In: Eurographics symposium on rendering.Google Scholar
  20. Wald, I., & Havran, V. (2006). On building fast kd-trees for ray tracking and on doing that in O(NlogN). In: IEEE symposium on interactive ray tracing.Google Scholar
  21. Welzl, E., et al. (1991). Smallest enclosing disks. In H. Maurer (Ed.), New results and new trends in computer science (Lecture notes in computer science, Vol. 555, pp. 359–370). New York: Springer.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag London Limited 2012

Authors and Affiliations

  1. 1.Department of Computer Science and Software EngineeringUniversity of CanterburyChristchurchNew Zealand

Personalised recommendations