22C:196 Computer Animation

Spring 2003

Assignment 3
Procedural Animation

DUE DATE: 5/7/03


This is the final project for the course. The key requirement is to demonstrate two methods to procedurally control motion. For the purpose of this assignment, procedural motion control is informally defined as any advanced technique for controlling the movement of 3-dimensional objects in animation. You are encouraged to build on the key-frame animation methods developed in the last project. However, you must extend the work to include two new methods of motion control.

A non-exhaustive list of techniques that could be used follows:

These techniques are presented in the textbook. Additional information can be found in the references cited in the text and in the standard graphics conferences, journals, and books. A great deal of useful information and code can be found on the web. If you are interested in a technique that doesn't fall under one of the categories above, check with me.

Objectives

Technique

Your project should clearly demonstrate the two motion control techniques you choose to implement. Find ways to exploit the ability of the technique to produce complex, intricate, and compelling movement. Explore how motions can be varied by manipulating the attributes of models, the initial configuration and state, or the values of input parameters. Push the techniques to test their limits. Investigate what looks right and what looks unnatural or peculiar.

You may use code that you find elsewhere (printed in books, posted on the web, or available in software libraries) as long as you respect laws and licenses regulating use and give fair credit to the sources.

Expression

Because of the strong ties to art and entertainment, research in computer animation places a premium on creativity in demonstrations of concepts and new methods. Exercise your creative talents. Incorporate humor. Make a statement. Express yourself.
Polish

Your programs, presentations, and reports should be polished. As much as is reasonable for a class project, your code should be well written and really work. Complete the details that give it a sense of being a finished product. Presentations should run smoothly and show off your work. Reports should describe the methods used in moderate detail and cite related literature.
Submission

Groups will present their projects on the last two days of class, May 7th and 9th. We will use the same presentation order used for previous presentations (Orange, Blue, Yellow, Red, Green). Reports are due on May 9th. As with the last project, you must submit source code and an executable program on a CD. The program must run on some accessible machine in MacLean Hall. You should include a README file describing the contents of the CD and giving instructions on how to run your program. Make your instructions explicit and clear, so that someone with modest technical skills (i.e. me) can make it work. Identify a particular machine on which you know the code will run.

Groups must submit a written project report. The report should give an overview of the project including what it does and how to use it. Highlight interesting features. In addition, the report should describe the techniques you used and present observations about the techniques such as challenges in implementation, interesting properties of the technique, or limitations of the approach. Lastly, you should include a credits section describing how each member contributed to the project.