Rigid body simulation (Fizzicks!)
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 C++
, Physics Simulation
. Bookmark the permalink