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 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.
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.
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 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.
Possibly Related Threads...
| Thread: | Author | Replies: | Views: | Last Post | |
| Optimize the collision detection | alaslipknot | 1 | 290 |
May 12, 2013 08:02 PM Last Post: SethWillits |
|
| Collision detection tutorial | ThemsAllTook | 7 | 18,393 |
Nov 5, 2011 05:20 PM Last Post: SethWillits |
|
| Help with Collision Detection..(i'm almost there) | carmine | 1 | 3,514 |
Jun 29, 2011 12:33 PM Last Post: ThemsAllTook |
|
| Time Delta, collision detection | mk12 | 19 | 12,855 |
Sep 8, 2010 06:40 PM Last Post: AnotherJake |
|
| Collision detection for pinball game | johncmurphy | 0 | 3,697 |
Sep 6, 2009 02:46 PM Last Post: johncmurphy |
|

