ProjectsProjects I worked on while I was in school.
I implemented this raytracer for my CS400 class. It supports spheres, ellipses, boxes, polygons, and tori. Notable features include soft shadows and anti-aliasing (jittered and uniform).
A cloth demo I did for my PHY350 class. The cloth is modeled using length constraints and a relaxation loop instead of springs. Between the Verlet integration and the length constraints the 'bouncyness' that plagues all too many cloth demos is greatly diminished. Per-point bounding sphere collision was also implemented in an attempt to prevent self-intersection but the method was only marginally successful.
A 2d rigid body simulator I put together for my PHY300 class. The goal of the project was to get a feel for how springs interact with rigid bodies when they are attached at different points. It has issues with stacking and interpenetration but it's fun to string things up with springs and smash them into each other.
With no formal physics instruction and armed with nothing other than our newly acquired linear algebra knowledge and a few physics textbooks my friend Josh and I implemented this physics demo in the summer before our Sophomore year. I focused mainly on collision detection while Josh focused on the general physics engine and collision response. Certainly not perfect but it will always be near and dear to my heart as the first physics engine I had a hand in.
© two-thousand-twelve ce, all rights reserved