Paper Cranes and the Power of Keyframes!

By Katie Davis

CSC 474 Winter 2015

My final project for computer animation focuses on keyframed animation. It creates a flight path from a series of keyframes.

When the user initally starts the program, the helicopter and default keyframes load. The keyframes are stored as a series of positions and quaternions. 'k' toggles the keyframes visible and hidden. The selected keyframe is highlighted in purple, and the user can iterate through all the keyframes by pressing 'f'.

The selected keyframe can be translated and rotated to create a flight pattern of the user's choice. Holding '1' while clicking and dragging the mouse causes the keyframe to translate in the direction of the mouse. Holding '2', '3', and '4' while clicking and dragging rotate the keyframe around the x, y, and z axes, respectively.

The user can alternate between flying a helicopter and a paper crane using the 'h' key.

A goal for the project that did not happen due to time constraints was to have clouds floating through the sky that were created from a particle system. Pressing the 'p' key shows the partially completed clouds hovering in the sky.

The skybox is implemented using a texture wrapped around a cube. The picture used for the texture is one I took on a hike at Point Mugu, CA a few weeks ago.

Pressing the space bar causes they object to start flying. The object is interpolated between the keyframes using a Catmull-Rom spline.


  1. Textures
  2. Skybox: My own picture from Point Mugu, CA
  3. CPE 471- Sphere.obj
  4. Turbo Squid Paper Crane obj
  5. CPE 476- Assignment 1, Keyframes
  6. CPE 476- Camera.cpp, used as inspiration for keyframe translations and
  7. CPE 476- Lab 10, Particle System