## Collision detection for 3D rigid body dynamics

Member
Posts: 161
Joined: 2005.07
Post: #1
I'm really starting to think I'm completely lost on the collision detection between two convex meshes for rigid body dynamics. This paper I plan on using for the dynamics requires a set of contact points that has this information:

1. the point in 3D space where the contact takes place
2. the collision normal
3. the penetration depth (I think as a scalar, as it will be in the direction of the vector representing the direction to push the meshes apart to separate them)

And it also requires a vector that represents the penetration depth between the two meshes. This information seems pretty standard across all the papers I read.

It's easy to see that any penetrating vertices in each mesh will be tagged as contact points, but how does it handle edge-edge collisions? Also, how does it find the penetration depth for each point? Speed is important too of course, so any O(n^2+) algorithms aren't good.

As of now, I can only find papers that find (a) whether two convex meshes are intersecting, and (b) the minimum penetration depth between the meshes. That's neat and all but doesn't find all the required info.

Hopefully someone can enlighten me here.
Member
Posts: 161
Joined: 2005.07
Post: #2
I should add, what I'm trying to figure out is the following:

1. For various configurations of rigid bodies, the collision points that are supposed to be generated.
2. Algorithms that can find this information, preferably quick ones.
Member
Posts: 161
Joined: 2005.07
Post: #3
Haha, okay then. I'll probably be able to figure it out in time. If worse comes to worst, I can just combine good old-fashioned (and slow) geometry with line-polygon collision tests, then layer on top some sort of spatial partitioning class like octtrees or BVH to lower the number of tests required.