Stephen DiVerdi

Computer Science Portfolio


HMC CS181A Seminar: Computer Animation

The course summary for CS181A from our catalog describes the class in these terms.

In this course we study the fundamental technology behind computer animation and special effects. The first third of the course focuses on advanced modeling techniques including NURBS and subdivision surfaces. In the next third of the course we study the mechanics of movement including key-frame animation, deformations, morphing, kinematics, and inverse kinematic. In the final third of the class we explore character animation. A secondary focus of the class is the art and history of animation. In the animation lab, students will learn the basics of a commercial animation system called Maya and contribute to the production of a class film. We will also view a number of short films and scenes from feature-length films.

Project 1 - Subdivision Surfaces - This project was a combination introduction to subdivision surfaces and learning more of the OpenGL interface. We implemented the loop subdivision algorithm for triangle meshes, and then added multiple forms of vertex manipulation (notably normal and orthogonal), to allow for modelling of complex surfaces.

Coarse - original mesh
Fine - original mesh, subdivided 4 times
Deformed - manipulated coarse mesh, subdivided 4 times

Project 2 - Keyframe Animator - This project involved implementation of a keyframe animator, including linear, catmull-rom spline, and b-spline interpolation and keyframe resampling.

Final Project - 3D Multiplayer Dodgeball -

Animation 1 - Spaceship Flyby -

Animation 2 - Alien Articulation -