Discrete Differential Geometry
 
For the Discrete Differential Geometry course, I produced a series of animations using OpenGL, OpenMesh, and the PETSc linear solver toolkit. I made an implicit/explicit mesh smoother, and two animations with “Thin Shell Dynamics”.  The course website, including references and in-depth assignment descriptions can be viewed here. 

Mesh Smoother/Denoiser
This example shows an animation of roughened sphere being smoothed. An implicit version of mean curvature flow is implemented, smoothing the regions of high curvature as the shape approaches a uniform sphere. http://groups.google.com/group/ddg2007shapeimage_1_link_0
Class Projects from COMS 4995
Thin Shell Dynamics

This example shows an animation of cube mesh being deformed by displacing one of its vertices. The initial bending and stretching energy of the cube is first calculated. The cube is then deformed, and the resulting stretching and bending forces are mapped to vertex color. Gradient descent is used to restore the mesh back to its initial energy.
In this example, a simple hinged plane is dropped into a “bowl”. Collision detection, gravitational potential, stretching and bending energy are all implemented to produce this physical simulation. Forward-backward Euler time-stepping is used to calculate the dynamic forces. Potential, kinetic, and hamiltonian energy are plotted across time to show that the system does conserve energy
  
The final example shows an elastic spherical ball bouncing on a simple triangular plane. The ball compresses slightly as it collides with the plane, then the bending and stretching forces cause it be thrust back in the air the opposite direction in which it fell.