CSCI 266 - Computer Animation
Computer Animation is a course that I took as a graduate student at The George Washington University during the Fall 2006 semester. The course investigated advanced computer animation techniques with assignments that focused on animation of a humanoid figure using inverse and forward kinematic techniques. The results and C++ source code for the assignments can be found below.
The implementation of a simple OpenGL based C++ program to animate a cube and an ellipsoid. Key commands describing program usage are printed to an accompanying console. An executable and C++ source code are available for download.
The Application: cs266_assignment1.zip (140kb)
The Source: cs266_assignment1_src.zip (13kb)
The implementation of an OpenGL based C++ program to animate a walking humanoid figure. The yellow figure walking in along a circular path is animated using forward kinematics. The baby blue figure standing in the center has a leg that can be animated with inverse kinematics. Some shadow and reflection tricks from Mark Kilgard's "dinoshade" example program are used to add some extra detail to the scene. Key commands describing program usage are printed to an accompanying console. An executable and C++ source code are available for download.
The Application: cs266_assignment2.zip (153kb)
The Source: cs266_assignment2_src.zip (21kb)
The implementation of an OpenGL based C++ program to animate a humanoid walking up stairs and across an incline. Forward kinematics is used to walk up stairs, by setting the root to the torso when lifting the leg and to the foot when lifting the body up one step. Inverse kinematics is used to adjust the height of the foot when walking across the incline. If the ankle passes below the surface of the floor, the ankle is lifted to a position above the floor with inverse kinematics and the angle of the foot is adjusted to match the incline. The actual joint angles used for the walking animation are not the greatest, but could be easily adjusted to provide a more natural gait. A simple skinning algorithm was used to add a skin to the 'skeleton' of the figure. Key commands describing program usage are printed to an accompanying console. An executable and C++ source code are available for download. The following images show a solid figure, and a wireframe figure with skeleton exposed.
The Application: cs266_final.zip (184kb)
The Source: cs266_final_src.zip (42kb)