Skip to main content
1 of 5
KOF
  • 101
  • 4

Looking for collision detection algorithms for broad and narrow phases between non-convex polyhedrons

I have some experiences on particle system simulation (namely DEM - Discrete element method), in which an individual particle with realistic shape (convex and non-convex) are approximated by gluing 3D spheres together (non-overlapping or overlapping), and act as rigid body. The collision detection is performed by the simplest sphere-sphere contact.

Nevertheless, for particle shape representing by polyhedrons, almost most of the collision detection algorithms for broad and narrow phases are based on convex polyhedron (e.g. GJK). For non-convex/concave shapes, convex decomposition is required to divide the concave object into many convex components (e.g. V-HCAD).

At this point, I really want to know the details on:

  1. how to store the concave objects into memory (like BSP tree?);
  2. collision detection and contact forces calculation between convex-concave, concave-concave objects.

I have searched quite a few relevant books like "Real-time collision detection" and "3D game engine design", etc, unfortunately I haven't find any details on this topic yet. Could some veteran game developers give some advice or insight on how to implement collision between concave objects?

Cheers, David

KOF
  • 101
  • 4