Physics Engine

This is a 3d rigidbody physics engine I wrote in high-school. I later used it to create the original and the remastered version of Seaside Racing.

Collision Detection

I implemented the Gilbert-Johnson-Keerthi distance algorithm to handle collision detection. As it turns out, the Expanding Polytype Algorithm is not needed to find good contact points when objects intersect (because of the shape of the Minkowski Sum/Difference on intersection) and I used a much simpler algorithm that simply shot a ray “out” along the line going through the two objects' centers. This worked extremely well in practice!