Collision Impulse Calculation

Started by
8 comments, last by Zakwayda 19 years, 4 months ago
Anyone know of an article which explains the calculation of a 3D collision impulse? I have pieced some stuff together based off code examples but i've obviously got something wrong as the calculated impulse is only sometimes enough to stop object interpenetration.
Advertisement
Dave Eberly's book "Game Physics" discusses this. I think David Baraff's papers on rigid body dynamics talk about. David Bourg's book "Physics for Game Programmers" discusses it. I'd also look at the paper "Pool Hall Lessons" in the programming article section over at gamasutra.com.
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
Cheers, It's probably about time i got a decent book about physics for games.
Baraff's papers surely discuss it.
I'd buy Eberly's book before Bourg's. Eberly's is more formal, and frankly I happen to trust his work more than Bourg's because Eberly has been in the game engine business professionally.

I personally have derived by hand the 3D collision response equations and have confirmed that Eberly's end result for the impulse (without friction) is correct (though there is an error in a couple of his intermediate equations). Bourg's equations for 3D collision response look like they could be correct, though they are a slightly different form from Eberly's. I cannot say for sure that Bourg's results are correct.

Thank you Ilici for pointing to the URL for Baraff's papers. I checked and Baraff's "Rigid Body Dynamics II" document does indeed include the impulse calcs for 3D collision. It actually appears that Eberly may have followed Baraff's papers pretty much verbatim, with some notation changes. (Though, actually, I'm certain that Eberly did the same thing I did----rederive to confirm that they are correct).
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
Actually the equations of transfer of momentum during an impact can be found on any college level book in mechanics. This is not something Baraff, or Everly or anyone else invented. To Barraf goes the credit that he figure out a methodology for using it consistently for computer simulation, everyone else just copied Baraff work.
Btw Baraff paper is the core stone of all physics engine that you see nowadays.

There are only two original papers worth reading Baraff 1994 in which he introduced the equations for friction less cases and in one dimension at a time. And Brian Mirti how realizes the equation can be generalized to include friction.

If you really one to understand I suggest reading Brian Mirty thesis on Impulsive simulation it is a lot more clear than all other papers.
Thanks guys, I've found that Baraff's "Rigid Body Dynamics" is the easiest to follow, now I just have to sift through and find where I've gone wrong. Could be fun
Quote:Original post by Anonymous Poster
Actually the equations of transfer of momentum during an impact can be found on any college level book in mechanics. This is not something Baraff, or Everly or anyone else invented. To Barraf goes the credit that he figure out a methodology for using it consistently for computer simulation, everyone else just copied Baraff work.


True, but having reviewed several such college texts, I've found that Baraff, Eberly, and others in the game industry have more completely documented the solution.
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
Quote:

Thanks guys, I've found that Baraff's "Rigid Body Dynamics" is the easiest to follow, now I just have to sift through and find where I've gone wrong. Could be fun

Yes it definitely can be a lot of "fun" sifting through code. I have had all of my physics code written for weeks now but I just spend hours upon hours fixing very minor mistakes. Most of them are errors in the language (java in my case) itself too. If I do it again, I would definitely force myself to test every piece of code rigorously before I throw it into the wash with all the rest.
Not sure if it's been mentioned yet, but if you need another reference for cross-checking or whatever, look for Chris Hecker's papers - I'm fairly certain they include impulse equations in 2D and 3D.

This topic is closed to new replies.

Advertisement