The heart of any system that simulates the physical interaction between objects is collision detection-the ability to detect when two objects have come into contact. This system is also one of the most difficult aspects of a physical simulation to implement correctly, and invariably it is the main consumer of CPU cycles. Practitioners, new to the f
Introduction: Describes the problem domain, historical background, and book organization. Concepts: Defines the mathematical and algorithmic concepts that are relevant in the context of collision detection. Basic primitives: Describes intersection tests for combinations of primitives, such as spheres, boxes, line segments, triangles, and general polygons. Convex Objects: Discusses methods for performing proximity queries on convex objects. The main part of this chapter is dedicated to the Gilbert-Johnson-Keerthi (GJK) algorithm. Spatial Data Structures: Discusses a number of spatial data structures that are used for quick rejection of non-intersecting pairs of primitives. Design of SOLID: An in-depth discussion of the architecture of the SOLID collision detection library. Conclusion: New trends and interesting areas for future exploration.