Computer Science 110
The Art & Science of Computer Graphics

Mount Holyoke College
Spring 2008


Lab 7: Animation
Due: 11:00 AM, Monday, April 21, 2008


This, the last regular lab assignment, has two parts. You will have the next two lab periods to work on this. Subsequent lab periods will be used to work on final projects.

Using Bezier Curves

For the first part, which is due at 11:00 AM, Monday, April 14, 2008, you should create one or more new objects using Bezier curves. These should be objects that would be difficult to create using the tools we studied previously. Neither the objects nor the scene in which they are placed need be especially complex - so long as you get a bit of practice using Bezier curves. All the better if it's an object you might make use of in this lab or in your final project.

Submit this in the usual way - by e-mail as an attachment to jteresco@mtholyoke.edu, and by creating a new section on your wiki page. On the wiki page, describe the model, how you created it, and include an image. This portion of the lab will be worth 10 points.

Animation

The main task for the lab is to create a model with one or more dynamic features, which you will demonstrate by creating a short animated clip. Your model need not be especially complex and you may make use of objects from your previous labs, from class examples, and from the shared model repository (all with appropriate citation, of course).

You will need to follow these steps:

  1. Construct a new Mead 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.
  7. Submit only the following items by e-mail as an attachment to jteresco@mtholyoke.edu: Please do not turn in the individual frames!
  8. Create a wiki page for your animation. You will be unable to upload the animation itself (the .mpg file), but you can upload a few representative frames. Do that, and include a description of your animation and how you developed it. Don't be afraid to go into some detail!
  9. When you are finished, you should remove your frames, since they can usually be reconstructed easily.

This portion of the lab is worth 25 points. Grading criteria include the appropriate usage of the programming techniques to achieve animation, the use of good coding practices (using constants, developing objects hierarchically, etc.), the quality and completeness of documentation (comments), your wiki image(s) and description, and artistic merit of the generated film.

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. Please take advantage of your own computers and the bootable Mead CDs to do long renderings so as not to tie up our limited lab resources unnecessarily.