# Resources to learn programming rigid body simulation

Where I can start learning about simulating rigid bodys 2d and 3d ?

-
Erin Catto's (of box2d fame) GDC slides may be relevant: code.google.com/p/box2d/downloads/list –  Jari Komppa Feb 3 '11 at 9:59

This seems like a logical answer :)

1) Read theory on the subject. Understand the higher level concepts first. Check the www.gamedev.net article sections they have plenty, as well as google books. Also, this link has some nice references : http://chrishecker.com/Physics_References

2) Read existing libraries. 2D - Box2D for 2D physics is a really good reference of rigid body simulation in 2d. http://box2d.org/ 2D/3D - http://bulletphysics.org/wordpress/

3) Implement. This taught me so much about understanding other engines. Start with the simplest of maths, implement it. Even the simplest implementation will boost your understanding of the systems involved.

-

A source that really helped me was using managed language code libraries. You then have the ability, through reflector, to see the code behind the methods that an engine uses. Much of this 'code behind' isn't available for view online.

http://www.amazon.com/Game-Physics-Interactive-3d-Technology/dp/1558607404/ref=sr_1_5?s=books&ie=UTF8&qid=1291983195&sr=1-5

If you are going to buy books, consider this well respected one too(it's related to physics):

http://www.amazon.com/Real-Time-Collision-Detection-Interactive-Technology/dp/1558607323/ref=pd_sim_b_1

-
I second Christer Ericson's 'Real Time Collision Detection', the book is great. You might want to mention the related blog as well. +1 –  falstro Dec 13 '10 at 8:36
Imho, "Real Time Collision Detection" is not the best book for learning, but still the best to use as reference. –  sarahm Dec 14 '12 at 19:07

Another great resource on the topic are David Baraff's papers. Here is one of them including source code:

"An Introduction to Physically Based Modeling"

http://www.cs.cmu.edu/~baraff/sigcourse/notesd1.pdf

-