Back to the main site

Rigid body simulation (Fizzicks!)

Posted on by Malcolm

Recently for my Physics Simulation module at university, I had to implement an impulse-based rigid body simulator. I chose to implement this using an iterative forward Euler integration method. Contact resolution also used an iterative method (finding the contact with the greatest penetration depth and resolving that first) and the narrow-phase collision detected utilized Separating Axis Theorem. This was done in C++ and the Ogre3D framework. Video after the break!

Overall I am pretty happy with the result as I went for more advanced methods than what we were taught (i.e. collisions being resolved purely by using Orientated Bounding Boxes/Spheres). Thinking about it now it would have been nice to play with the mass and contact restitution values of the cubes for a better visual output. It might be worth noting that I haven’t mentioned broad-phase collision detecting because I did not implement it due to the small number of objects in the scene.

This entry was posted in University Work and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>