next up previous
Next: About this document ...

CS4732 - Term D, 2011
Computer Animation

Lectures: FL 320, Tuesday and Friday, 8:00 - 9:50AM
Labs: FL 222 (IMGD Lab), Wednesday, 8AM, 9AM, 10AM

Instructor: Prof. Matthew Ward, FL-231, 831-5671, matt@cs
Office Hours: Tuesday: 1PM, Thursday: 11AM, Friday: 2:00PM, Others by appointment

Teaching Assistant: Paulo de Barros,
Office Hours (in FL-A22 or FL-222): Tuesdays and Thursdays: 4:00-6:00PM

Course Description: This course provides an in-depth examination of the algorithms, data structures, and techniques used in modeling and rendering dynamic scenes.

Topics include an overview of traditional animation, animation hardware and software, parametric blending techniques, modeling physical and articulated objects, forward and inverse kinematics, key-frame, procedural, and behavioral animation, and free-form deformation.

Students will be expected to develop programs to implement low-level algorithms commonly found in animation packages as well as use commercial animation tools to design and produce small to moderate sized animations. Both individual and group projects will be included.

Text: The primary text for the course is Computer Animation: Algorithms and Techniques, by Rick Parent (Second Edition). Optional texts on 3D Studio may be purchased if desired. Reasonable choices include 3DS Max 11 Bible by Kelly Murdock and Mastering Autodesk 3DS Max Design 2011 by Mark Gerhard and Jeffrey Harper. Supplemental texts will be placed on reserve in the library which may assist you in understanding some of the more difficult concepts.

Facilities: Most assignments can be performed using the same platform you used for your CS4731 assignments (C++/OpenGL or Java). You can use either your version of the rendering pipeline or the functions within OpenGL or Java 3D. 3DS Max assignments may be performed using the PCs in the IMGD Lab (FL 222) or on any machine running a recent release of 3D Studio Max.

Grade Policy: 50% exams, 50% assignments, although low grades early in the term may be forgiven in cases where students are performing very well at the end of the course. You must obtain a passing grade for both the exam portion and project portion.

Supplemental Material: All handouts can be found on myWPI.

Wednesday Lab Sessions: Labs will be held in the IMGD Lab, and will consist of tutorials and exercises in the use of 3D Studio Max. If you are already familiar with the package, attendance is not required. However, if you'd like to help the TA guide the other students in learning the package, that would be greatly appreciated. And no, we will not be covering how to write your own plug-ins!


  1. Reading is mandatory, working ahead is encouraged.

  2. Exams are based on both lectures and readings, so class attendance is strongly encouraged. Over-sleeping is NOT an acceptable excuse for missing an exam, even for an 8AM class.

  3. Cheating, defined as taking credit for work you did not do, is strictly forbidden. First offenders will receive a zero grade for the assignment or exam in question, and the Office of Student Life will be notified. Repeat offenders will receive an NR for the course, and the case will be brought before the Campus Judiciary System.

  4. All assignments except the final one should be submitted using myWPI. Instructions are provided with the assignments. Files MUST include instructions on compiling and running the program and should be WELL documented. Insufficient documentation will result in loss of points (as much as 25% of the assignment). Data files should include a comment line at the start giving your name, the assignment for which it is intended, and the most recent date in which the file was changed. Please, do NOT turn in hardcopies or executables! Any questions regarding the program may be sent to either the TA or me via e-mail, or you may stop by during our posted office hours. The final 3D Studio assignment should be turned in on a clearly labeled disk or CD. Turning in a disk containing a virus will result in loss of points.

  5. Assignments are due by midnight on the dates specified below. There will be a late penalty of 10 percent for each day beyond the due date.

  6. Working in pairs will be permitted on the final project. For all other projects each person should hand in his/her own work.

  7. In order to maintain a classroom environment conducive to effective learning, please refrain from the following activities during class: carrying on conversations (vocal or electronic), browsing the web, listening to music, playing games, eating (unless you brought enough to share with the whole class), or sleeping. Please set cell phones to silent mode. Your consideration for others would be greatly appreciated.

Projects: The focus of the projects this year will be on modeling and animating animals, real (e.g., your pet lizard) or fictitious (e.g., Mr. Krabs). The animal you choose should be one that has articulated joints, i.e., locations about which bends and twists can occur. You will not be graded on the level of realism in your model, but please avoid just slapping together a few boxes and cylinders. I suggest extruded shapes as a basic building block, along with transformations to scale, rotate, and offset them.

The projects for the course are as follows:

Project 1: (due March 22) Create a multi-component 3D model of some sort of animal (real or fictitious) and animate the position of the object and one or more of its components using OpenGL or Java3D. For example, you might animate a turning head, a raising paw, or some similar motion, as well as position along a line. The model can be very coarse, as detailed modeling is not as important as getting the model to move. You will need to implement a mechanism for controlling the animation, including play, stop, and rewind, and optionally single frame forward, single frame backwards, and any others you find useful. This can be done via simple keystroke processing, or you might want to create an interface component to perform this task. The rendering can be either wire frame or filled polygons (you should try to support both).

Project 2: (due March 29) Extend your project 1 to support motion along a curved path (e.g., a Bezier curve or Catmull-Rom spline along the terrain, using terrain vertices as control points). Then use arc-length estimation and reparameterization to attain smooth (ease-in/ease-out) behavior. Experiment with different accelerations/decelerations to attain different effects. You should be able to get smooth rendering in wire frame mode, but filled polygons may cause some delays and affect the smoothness of motion.

Project 3: (due April 5) Implement either Barr's shape transformations (taper, twist, and bend) or Free-Form Deformation in OpenGL or Java3D on your object from Projects 1 and 2. Animate two or more shape transformations of your choice on your object. Make sure the shape changes are smooth (hint: use the math from project 2).

Project 4: (due April 12) Develop a 3D Studio application that performs both position and shape animation on two objects from the scene that you will use in your final project. Use ease-in/ease-out to smooth out the motion. The objects should be some form of animal, and can be simplified versions of the ones you plan to use. Realism isn't as important as integrating smooth changes and getting familiar with the capabilities of 3D Studio.

Project 5: (due April 19) Create a program using OpenGL or Java3D that demonstrates articulated motion, i.e., component motion that is relative to the position and movement of another component. At least 3 joints must be involved. Either inverse (required for BS/MS credit) or forward kinematics may be employed. You can use or extend your object from Projects 1-3 or choose another object from the scene you'll be mimicking for the final project.

Project 6: (due May 3) Design and implement a video clip in 3D Studio to depict two or more animals moving along a terrain (either one of those we provide or one of your own making). It should last at least 30 seconds and include the following ``compulsory'' effects: inverse kinematics, free-form deformations, parametric surfaces (not just spheres and cylinders), and two or more distinct camera shots. The objects involved in these effects must be of your own creation, but you may feel free to use commercially made or public domain models or textures to augment your scene. A sound track is nice, but not necessary (though most students in the past have included one).


Week 1 (March 15-21)
   Topics: History of Computer Animation, Animation Pipeline, Orientation Control
   Lab: Object Modeling in 3DS
   Reading: Chapters 1 and 2

Week 2 (March 22-28)
   Topics: Animating Position and Orientation
   Lab: Surface Properties in 3DS
   Reading: Chapter 3.1-3.5 

Week 3 (March 29 - April 4)
   Topics: Animating Shapes
   Lab: Simple Animation in 3DS
   Reading: Chapter 4.1-4.6

Week 4 (April 5-11)
   Topics: Kinematics and Collisions
   Lab: Relative Coordinate Systems in 3DS
   Reading: Chapter 5.1-5.3
   Midterm Exam 

Week 5 (April 12-18)
   Topics: Constraints, Group Behavior, Implicit Surfaces
   Lab: Complex Motion Specification in 3DS
   Reading: Chapter 7.1-7.6

April 19 
   Thursday schedule due to Project Presentation Day - no classes

Week 6 (April 20 - 26)
   Topics: Animating Articulated Objects
   Lab: Special Effects in 3DS
   Reading: Chapter 9

Week 7 (April 27 - May 3)
   Topics: Advanced Topics, Project Presentations, Commercial Animations
   Lab: Help session
   Final Exam

next up previous
Next: About this document ...
Matthew Ward 2011-03-10