More Bouncing Balls: 3D Collision Detection
Spring semester of my freshman year I did a 1 credit Passionate Pursuit where I researched collision detection algorithms. In the process I also learned about OpenGL, rendering, triangle meshes, quaternions, gimbal lock, and surface normals.
The final deliverable was a simulation of a ball bouncing in 3D on a mathematically defined terrain. My friend Doug helped write the simulation in C++ with OpenGL, but I eventually moved to Python because development was much faster.