One rigid body colliding with some rigid bodies in resting contact

Started by
2 comments, last by taumuon 17 years, 6 months ago
When one rigid body collides with another one its easy to solve the collision. But and when one body collides with one another body that is in contact with another body that is in contact with another body that is in contact with another boy ... :D ... ?!?!? As an example ... a pool game. When the game starts all the balls except the white one are in resting contact. The player shot the white ball against all that another balls and ..... I dont know how to compute the impulses here :)! Do you have an idea?!? Thnx ;)
.
Advertisement
I think you have to assume that any object in 'blocking' contact (i.e. it is in contact with a body in the direction it's trying to move), the impulse across the contact must be equal to the component of the collision impulse in that direction (i.e. the first object can't move in the direction of the contact). I don't know if that works when you're in contact with more than one object at once though as unless the contacts are orthogonal the impulses will affect each other. I'd need to do some more thinking about that.
Impulsive collisions are instantaneous. If you detect multiple collisions during your timestep, the only situations in which they're genuinely simultaneous are artifical ones (i.e. your objects initially started perfectly axis aligned etc). If you handle the collisions during the timestep in any arbitrary order and continue processing until there are no more collisions, then you will achieve a realistic result, even though the actual result might depend on some internal details like the processing order.

The standard collision law that you've already implemented is only valid for pairs of objects at a time (though I think there are other "laws" that more bodies in simultaneous contact). Trying to handle all collisions at once with this law (LCP approach) won't work.

There was a discussion some time ago here. Anonymous Poster should be viewed as a "devil's advocate" when reading this (I think!).
Hi MrRowl,

The thread you linked to was an interesting read. Reading that thread seemed to say that no-one was sure how best to deal with multiple contacts in collision? Is the situation any different a year on? (somewhere in that thread it said that Baraff may reply to a personal email with some thoughts..)

At the bottom of the first page was a reply from CuppaJava with the following:

"The 3rd article posted by Mr.Rowl.
http://www.mecheng.iisc.ernet.in/~anindya/papers/complementarity_preprint.pdf"

Apparently the linked article had a discussion of the issues in collision response with multiple contacts - but the linked paper no longer exists, I don't suppose you've kept a copy or know where it may be mirrored?

cheers,
Gary
C# Physics Engine Tutorials: www.taumuon.co.uk/jabuka/

This topic is closed to new replies.

Advertisement