Computer Science 112
The Art & Science of Computer Graphics

Fall 2015, The College of Saint Rose

Studio/Lab 10: Animation
Due: 11:59 PM, Friday, December 11, 2015

For this, your last Studio/Lab exercise, you will create a model with one or more dynamic features, which you will demonstrate by creating a short animated clip.

Getting Set Up

Create a new folder for your work on this Studio/Lab.

Procedure and Requirements

Your model need not be especially complex. You should create at least one brand new object model), but you are also encouraged to make use of objects from your previous labs, from class examples, and from repository classmates (all with appropriate permission and citation, of course).

You will need to follow these steps:

  1. Construct a new Ambrosia model in the standard way, following a good model hierarchy, using good names, and with appropriate documentation. In designing your model, be sure to keep in mind your ultimate goal: change. Your model may have features that change position or shape, or materials may change over time.
  2. Think about the key points in your animation, where the dynamic behavior is discontinuous. For example, if you are modeling the motion of a billiard ball, the ball changes direction when it bounces off the edge of the table. The pictures of the model at these key points are called key frames.
  3. Determine which objects change during each segment between the key frames. These objects will be the subject of an adjustment function you will write for each segment of your film. Next, determine how each object changes during the segment. Are these changes relative or absolute?
  4. Write the adjustment function for each segment of your film. The values you need to determine the intermediate states of each dynamic object will become parameters to your adjustment function. Determine the start and stop values for each parameter. The film message you send to the camera will morph from the start values to the stop values.
  5. Determine how long each segment should run, in steps, keeping in mind that the frame rate is 25 frames per second. At this point you have everything you need for your camera's film message.
  6. Set your environment and image variables appropriately and shoot your film.

A Reminder About Rendering Times

And finally, a quick reminder: animations can be very expensive to render. Please plan ahead! You might consider using a lower image quality when developing your models, increasing it only when you wish to generate final images and animations.


  1. Email a copy of the source code for your Ambrosia model (the Python file, which should always be saved with a .py extension) and your best image (which should always be saved in PNG format and using a .png extension) as attachments to terescoj AT Please include a meaningful subject line (something like "CSC 112 Studio/Lab 10 Submission"). Make sure your name is included in a comment in your model code, and that you have comments throughout the source code to make it easier to understand.
  2. Rename your best image to include your name, then upload it to the wiki. For example, if you generate an image of a scene from Toy Story 4 and your name is John Lasseter, you might call your image "JohnLasseterTS4Scene.png".
  3. Add a section to your wiki page named "Animation" that includes a link to your image and a description of your model that generated the image.

Note that the animation itself will not be uploaded to the wiki, but rather uploaded to YouTube, then linked from your wiki entry.


This assignment is worth 20 points, which are distributed as follows:

> FeatureValueScore
At least one new object 3
Programmed animation 10
Model documentation and formatting 2
Code organization and style 2
Image(s), movie, and description on wiki page/YouTube 3
Total 20