next up previous
Next: About this document ...

CS4732 - Term C, 2007
Computer Animation

Lectures: FL320, MTRF, 9:00 - 9:50AM
Labs: AK 120D(IMGD Lab), W, 8AM, 9AM, 10AM

Instructor: Prof. Matthew Ward, FL-134, 831-5671, matt@wpi.edu
Office Hours: Monday and Thursday: 10AM, Tuesday and Friday: 2:00PM, Others by appointment

Teaching Assistant: Randy Froc, randy@wpi.edu
Office Hours (in FL-A22 or AK120D): Monday: 12-1PM, Tuesday: 5-6PM, Wednesday: 1-3PM, Thursday: 1-2PM

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. Optional texts on 3D Studio may be purchased if desired. Reasonable choices include 3DS Max 8 Bible by Kelly Murdock and 3DS Max 5 for Dummies by Shamms Mortier. 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 (using C++/OpenGL). If you took CS4731 a while back and used some other language/package (such as libsx or Java), you may do your assignments in those languages, but you may get less support from the TA. 3DS Max assignments may be performed using the PCs in the IMGD Lab (AK 120D) 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 Movie 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!

Notes:

  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.

  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 the start of class (9AM) 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: In last term's offering of CS4731, students modeled and rendered a scene based on a photograph of a real scene. I thought this was a great idea, and am extending it for this course. Instead of a static photo, however, you will use a short video sequence from a movie, TV show, or TV commercial as your focus. Your projects will focus on mimicking the objects and motions in the scene. Clearly, it will only be an approximation, but it will provide a nice framework for studying the algorithms of object motion. The sequence you choose should have more than one object moving, and the motion should not be either too simple (e.g., a character from South Park) or too complex (e.g., a battle scene from Lord of the Rings). If you want, either the TA or I can look at the video sequence you are considering to let you know whether we think it is a reasonable choice. In making your selection, you should look at the project descriptions and make sure your scene contains objects and motions that will satisfy the project guidelines.

The projects for the course are as follows:

Project 1: (due January 18) Create a multi-component 3D object model from your scene and animate the position of the object and one or more of its components using the OpenGL code from CS4731. For example, you might animate a jointed arm, a rotating head, a flying space ship, or some similar motion. 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 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.

Project 2: (due January 25) Extend your project 1 to support motion along a curved path (e.g., a Bezier curve). Then use arc-length estimation and reparameterization to attain smooth (ease-in/ease-out) behavior. Experiment with different accelerations/decelerations to attain different effects.

Project 3: (due February 1) Implement either Barr's shape transformations (taper, twist, and bend) or Free-Form Deformation in OpenGL 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 February 8) Develop a 3D Studio application that performs both position and shape animation on two objects from your scene that you will use in your final project. Use ease-in/ease-out to smooth out the motion. The objects can be simplified versions of the corresponding objects in the actual video. Realism isn't as important as integrating smooth changes and getting familiar with the capabilities of 3D Studio.

Project 5: (due February 16) Create a program using OpenGL 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 March 1) Design and implement an approximation of your selected video clip in 3D Studio using the the results of Project 4. 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 animation. A sound track is nice, but not necessary (though most students in the past have included one).

Schedule:

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

Week 2 (January 18-24)
   Topics: Animating Position and Orientation
   Lab: Surface Properties in 3DS
   Reading: Chapter 3.1-3.5 

Week 3 (January 25 - January 31)
   Topics: Animating Shapes
   Lab: Simple Animation in 3DS
   Reading: Chapter 3.6-3.10

Week 4 (February 1 - February 7)
   Topics: Kinematics and Collisions
   Lab: Relative Coordinate Systems in 3DS
   Reading: Chapter 4.1-4.3
   Midterm Exam 

Week 5 (February 8 - February 14)
   Topics: Constraints, Group Behavior, Implicit Surfaces
   Lab: Complex Motion Specification in 3DS
   Reading: Chapter 4.4-4.7

February 15
   Academic Advising Day - no classes

Week 6 (February 16 - February 22)
   Topics: Animating Articulated Objects
   Lab: Special Effects in 3DS
   Reading: Chapter 6

Week 7 (February 23 - March 1)
   Topics: Advanced Topics, Project Presentations, Commercial Animations
   Reading:
   Lab: Help session
   Final Exam



next up previous
Next: About this document ...
Matthew Ward 2007-01-05