Homework 3

I implemented a rigid body simulator as outlines in the SIGGRAPH Course Notes. I implemented collision detection using SWIFT++ and collision response using the bisection method (outlined in the course notes). Below are a few videos that demonstrate my system (they are all compressed using the XviD codec).

These two videos demostrate the two types of collision that can be handled by my system, vertex-face and edge-edge collision.
Vertex-Face Collision
Edge-Edge Collision

In this video I setup a pool table with the balls in a standard rack and simulated a "cue ball" being shot at the rack and the resulting break of the balls. I did my best to keep the proportions of the simulation true to a regulation billiards table. The balls were given a coefficient of restitution of 0.8, which was the most correct number I could find online for a standard pool ball.
Billiards

The program can be downloaded here.
The source can be downloaded here.