next up previous
Next: About this document ...

CS525A - Spring, 2010
Computer Animation

Lectures: FL 311, Mondays, 6pm - 9pm
Lab: GL 310B (Movie Lab)

Instructor: Prof. Matthew Ward, FL-231, 831-5671, matt@cs
Office Hours: Monday: 2pm, Tuesday: 2pm, Thursday: 9am, Friday: 1pm, Others by appointment

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.

Text: The primary text for the course is Computer Animation: Algorithms and Techniques, by Rick Parent (Second Edition). Optional texts on 3D Studio, Maya, or Blender may be purchased if desired. Reasonable choices include 3DS Max 9 Bible by Kelly Murdock, 3DS Max 5 for Dummies by Shamms Mortier, Learning Autodesk Maya by Autodesk, Inc., or Animating with Blender by D. Roland Hess. Supplemental texts will be placed on reserve in the library that may assist you in understanding some of the more difficult concepts.

Facilities: The assignments focused on implementing animation algorithms can be performed using the same platform you used for your computer graphics assignments (C++/OpenGL or Java). You can use either your own version of the rendering pipeline or the functions within OpenGL or Java 3D. Project 4, which is based on using a high-end animation package, may be performed using the PCs in the Movie Lab (GL 310B) or on any machine running a recent release of 3D Studio Max, Maya, or Blender. The key requirement is that your projects need to be executable on a machine on campus.

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 the course website:
http://cs.wpi.edu/~matt/courses/cs525A.

Notes:

  1. Reading is mandatory, working ahead is encouraged.

  2. Exams are based on both lectures and readings, so class attendance is strongly encouraged.

  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 should be demonstrated to me, either before class, after class, or during one of my office hours.

  5. Assignments are due by class time 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 is permitted on Project 4. 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 projects for the course are as follows:

Project 1: Create a multi-component 3D model using OpenGL or Java3D of some character from a Pixar short animation. It can be a simplification, but it should be recognizable as the specific character. Animate the position and orientation of your character to move along a parametric curved path, with the orientation facing the direction of motion. Implement ease-in, ease-out behavior so the the character accelerates from a stopped position and smoothly comes to a halt at the end of the path. You will need to implement a mechanism for controlling the animation, including play, stop, and rewind, and optionally single frame forward, single frome 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 shaded polygons (you should try to support both).

Project 2: Implement either Barr's shape transformations (taper, twist, and bend) or Free-Form Deformation in OpenGL or Java3D on your object from Project 1. 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 1). Rendering should be both in wire frame and shaded surfaces.

Project 3: 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, and either inverse or forward kinematics may be employed. You can use or extend your object from Projects 1-2 or choose another Pixar character.

Project 4: Design and implement a video clip in 3D Studio, Maya, or Blender that mimics a scene from one of the Pixar shorts. It should last at least 30 seconds and include some/all of the following 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). You should submit a design document on or before the twelth week of the semester describing the objects of the scene and the position, orientation, or shape changes they will undergo.

Project 5: Research a topic from computer animation of your choosing. This should involve reading at least 2 or 3 journal or conference papers (I suggest using Google Scholar to find them) on a single topic, writing a 5-10 page report (single-spaced) describing the topic and the papers, and giving a 15-20 minute talk on the last day of the semester. You should bounce the topic off of me prior to doing too much research so I can tell you if it is appropriate or not.

Schedule:

Week 1 (Jan. 25)
   Topics: History of Computer Animation, Animation Pipeline, Orientation Control
   Reading: Chapters 1 and 2
   Links:  Optical Toys ,
    Quaternions 

Week 2 (Feb. 1)
   Topics: Animating Position and Orientation
   Reading: Chapter 3
   Links:  Parametric Curves ,
    Position, Velocity, Acceleration Curves ,
    Velocity and Acceleration Along Curves ,

Week 3 (Feb. 8)
   Topics: Animating Shapes
   Reading: Chapter 4
   Project 1 due
   Links:  FFD examples ,
    Image Warping ,
    More FFD examples ,
    2D and 3D morphing ,
    3D morphing ,

Week 4 (Feb. 15)
   Topics: Kinematics
   Reading: Chapter 5
   Links:  6DOF FK ,
    2 link 3D IK ,
    4 link 2D IK ,
    IK survey and movies ,

Week 5 (Feb. 22)
   Topics: Motion Capture
   Reading: Chapter 6
   Links:  Motion capture data from CMU,
    Blog dedicated to free motion capture data,
    mocapdata.com free and commercial motion data (nice video),

Week 6 (March 1)
   Topics: Physics-Based Animation
   Reading: Chapter 7
   Project 2 due
   Links:  projectile motion,
    simple collisions,
    3D colisions, deforming object,
    particles from blogs,
    controllable fireworks,

Week 7 (March 8)
   Topics: Liquids and Gases
   Reading: Chapter 8
   Links:  Turbulence ,
    Implicit Surfaces,
    Flames ,
    pool fires ,
    water ,
    Clouds ,
    Gaseous Phenomena ,
    Survey of cloud research ,
    Survey of water research ,
    Nice set of CFD animations ,

Week 8 (March 15)
   Midterm Exam

Week 9 (March 22)
   Topics: Human Motion
   Reading: Chapter 9
   Project 3 due
   Links:  Grasping Configurations,
    Human gait analysis,
    Cloth Modeling,
    Hair Modeling,
    Some nice animations of human motion and cloth ,

Week 10 (March 29)
   Topics: Facial Animation
   Reading: Chapter 10
   Links:  Facial muscles ,
    Facial Action Coding System ,
    Links to facial animation sites ,
    Tony de Peltrie (1985) ,
    Real-time facial capture and transfer ,
    Some nice examples from Sweden ,
    Nice facial contortions ,
    Blending 8 facial configurations ,
    fitting an image to a 3D model,
    A nice survey paper on facial modeling/animation ,

Week 11 (April 5)
   Topics: Behavior Modeling
   Reading: Chapter 11
   Links:  Boids with a couple predators ,
    Ants finding crumbs,
    Crowd Simulation ,
    Another Crowd Simulation ,
    Collection of crowd simulations,
    WETA Digital crowd scenes ,

Week 12 (April 12)
   Topics: Special Modeling Methods
   Reading: Chapter 12
   Project 4 Design due
   Links:  Implicit Surfaces,
    More Implicit Surfaces,
    Metaballs with Processing,
    Metaballs to simulate fluids ,
    Singular Algebraic Surfaces ,
    Tutorial on L-Systems ,
    Applet for L-Systems ,
    Another Applet for L-Systems ,

Week 13 (April 26)
   Final Exam

Week 14 (May 3)
   Topics: Advanced Topics, Project Presentations
   Projects 4 and 5 due
   Links:  Sample Final Project,
   :  Sample Final Project,
   :  Sample Final Project,
   :  Sample Final Project,
   :  Sample Final Project,
   :  Sample Final Project,
   :  Sample Final Project,




next up previous
Next: About this document ...
Matthew Ward 2010-01-19