Collision detection for 3D rigid body dynamics
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 edgeedge 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.
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 edgeedge 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.
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.
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.
Haha, okay then. I'll probably be able to figure it out in time. If worse comes to worst, I can just combine good oldfashioned (and slow) geometry with linepolygon collision tests, then layer on top some sort of spatial partitioning class like octtrees or BVH to lower the number of tests required.
Possibly Related Threads...
Thread:  Author  Replies:  Views:  Last Post  
Optimize the collision detection  alaslipknot  1  4,788 
May 12, 2013 08:02 PM Last Post: SethWillits 

Collision detection tutorial  ThemsAllTook  7  25,666 
Nov 5, 2011 05:20 PM Last Post: SethWillits 

Help with Collision Detection..(i'm almost there)  carmine  1  5,806 
Jun 29, 2011 12:33 PM Last Post: ThemsAllTook 

Time Delta, collision detection  mk12  19  19,645 
Sep 8, 2010 06:40 PM Last Post: AnotherJake 

Collision detection for pinball game  johncmurphy  0  5,607 
Sep 6, 2009 02:46 PM Last Post: johncmurphy 