Rigid Body Dynamics

3f95f5a6d0212e02b72af2958595e130
0
Nyx 101 Dec 26, 2008 at 07:33

Does someone have good links explaining rigid body dynamics? The less cryptic the explanations the better.

I just implemented OBB intersection detection, and now I’m looking to understand how I can implement collision reaction *with rotation*.

I think I heard someone say you could treat each vertex of the OBB as a point particle linked to the others, but I don’t know any more than this.

12 Replies

Please log in or register to post a reply.

Fd80f81596aa1cf809ceb1c2077e190b
0
rouncer 103 Dec 26, 2008 at 07:48

this idea is completely crazy, but you could use springs attached to points, perform the collisions on the points (points are easy) then the springs should activate to keep the shape together right.

3f95f5a6d0212e02b72af2958595e130
0
Nyx 101 Dec 26, 2008 at 08:01

Well I obviously don’t need/want collision detection on points. That wouldn’t be reliable. I will, however, need some kind of contact determination mechanism… And for that I’m thinking of just picking the closest vertex as an easy approximation.

46407cc1bdfbd2db4f6e8876d74f990a
0
Kenneth_Gorking 101 Dec 26, 2008 at 17:07

There is always the classic from Baraff

46407cc1bdfbd2db4f6e8876d74f990a
0
Kenneth_Gorking 101 Dec 26, 2008 at 17:24

By the way, you can actually use point-based collisions. Not only can it be unconditionally stable, but it makes it very easy to simulate soft-body objects and tearing/fracturing: http://cg.informatik.uni-freiburg.de/publications/deformationShapeMatchingSIGGRAPH05.pdf

3f95f5a6d0212e02b72af2958595e130
0
Nyx 101 Dec 26, 2008 at 18:19

@Kenneth Gorking

There is always the classic from Baraff

Lots of equations, scary :blink:

Do you understand what is being explained in this paper?
@Kenneth Gorking

By the way, you can actually use point-based collisions. Not only can it be unconditionally stable, but it makes it very easy to simulate soft-body objects and tearing/fracturing: http://cg.informatik.uni-freiburg.de/publications/deformationShapeMatchingSIGGRAPH05.pdf

Do you think this would require more implementation effort than a system based on bounding volumes?

46407cc1bdfbd2db4f6e8876d74f990a
0
Kenneth_Gorking 101 Dec 29, 2008 at 12:47

@Nyx

Lots of equations, scary :blink: Do you understand what is being explained in this paper?

Collision response and preventing inter-penetrations, I think. I must admit, I never studied it to much, I just used some of the code once. Like you said, lots of equations :)
@Nyx

Do you think this would require more implementation effort than a system based on bounding volumes?

Hard to say really, I guess it depends on what kind of collision detection you need. The standard rigid body solution might be easier, because of all the code already on the net, but it would be limited to solid objects.

On the other hand, doing a point-based goal-oriented implementation should not prove difficult at all, and it has the nice side-effect of allowing soft bodies.

3f95f5a6d0212e02b72af2958595e130
0
Nyx 101 Dec 29, 2008 at 19:35

@Kenneth Gorking

On the other hand, doing a point-based goal-oriented implementation should not prove difficult at all, and it has the nice side-effect of allowing soft bodies.

Well, I read the paper quickly, and unfortunately it only addresses part of the collision response, from what I could see. They don’t really talk about how they implemented their collision detection (ie: how do they detect when points should stop moving to prevent inter-penetration between the point clouds).

A804d3789a0dc5c8b6e0f18bb730479d
0
PlayStationX 101 Jan 13, 2009 at 02:41

do i understand correctly:

  • you are asking how momentum is transferred during elastic/inelastic collision, more precisely - how angular momentum is transferred/conserved, right?

i think that would have to do with:
1.) centers of mass of colliding objects
2.) distances from mass centre to collision points
3.) translation velocity vectors of colliding objects
4.) angular velocity vectors of colliding objects

quick copy/paste from Wiki:

Angular momentum

http://en.wikipedia.org/wiki/Angular_momentum

Conservation of Angular Momentum

http://www.lightandmatter.com/html_books/2cl/ch05/ch05.html

Angular Momentum in a Collision Process

http://www.hakenberg.de/diffgeo/collision_resolution.htm

254754b37f468a2926bffcd83bbbf1fa
0
z80 101 Jan 13, 2009 at 20:15

@rouncer

this idea is completely crazy, but you could use springs attached to points, perform the collisions on the points (points are easy) then the springs should activate to keep the shape together right.

That will work. In fact that is how the physics was done in the first hitman game.

http://www.teknikus.dk/tj/gdc2001.htm

6aa952514ff4e5439df1e9e6d337b864
0
roel 101 Jan 14, 2009 at 11:02

When I was interested in physics, I read Hecker’s series for the basics, and the “Nonconvex Rigid Bodies with Stacking” paper for more advanced stuff. It required a lot of thinking, but I managed to create a very acceptable simulation.

5dd66e0225657f6ea919eb133ced3e68
0
Phlex 101 Jan 14, 2009 at 13:44

There’s a whole bunch of stuff on collision detection here

http://www.pfirth.co.uk/