Thursday, April 21, 2011

A free rigid body simulation book

I started off the day reading "Constraint-based collision and contact handling using impulses".  Unfortunately, the method discussed depends upon finding the time of collision and performing collision handling at that point in time, not after there is already penetration.  Unfortunately, this can become rather costly due to the time step becoming really small, and the actual calculation of the time can be expensive.  I have tried out methods like this in the past, but I was unable to get them to run at acceptable real-time speeds.

I then moved on to read a set of slides from this year's GDC.  The slides showed various physics "artifacts", such as vibrating stacks of boxes, and showed some methods of solving or hiding them.  As is usual with slides, they were pretty light on text and you need to know about the problem in advance to get much out of it.  I recognized contact point caching from Erin Catto's original Box2D GDC presentation, which was helpful in that it was the first time I have actually seen a diagram of how caching could help.  It was pretty vague though.

After getting through the slides, I started reading the free book "A Unified Framework for Rigid Body Dynamics".  Totaling at 153 pages, this is a heavy read compared to most of the other papers and articles I have read on rigid body simulation.  However, it should be very helpful since one of the goals of it is to teach how the various parts of physics simulation fit together, which just happens to be the part I am stumbling on.  It also gives what seems to be a very thorough definition of terms, which helps greatly if you are teaching yourself this stuff and need to lookup further information or discuss it with other people.

As part of going through the second chapter of the previously mentioned book, I went back and re-learned what an orthogonal matrix is, as well as how to calculate the determinant and inverse of a matrix.  I'm running out of time, so I can't give a full description, but an orthogonal matrix is basically a matrix which doesn't scale or skew.  The only thing I'll say about the other two at the moment is that calculating them is complicated.

No comments:

Post a Comment