COURSE DESCRIPTION Department: Computer Science Course Number: 4732 Course Coordinator: Matthew Ward Course Title: Computer Animation Total Credits: 1/3 unit Current Catalog Description: This course provides an in-depth examination of the algorithms, data structures, and techniques used in modeling and rendering dynamic scenes. Topics include 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 animation algorithms as well as use commercial animation tools to design and produce small to moderate sized animations. Intended audience: computer science majors. Textbook: Computer Animation: Algorithms and Techniques, by Rick Parent, Morgan Kaufman Publishers, 2002 References: http://www.cs.wpi.edu/~matt/courses/cs4732 Course Goals: The goal of CS 4732 is to provide the students with knowledge of how 3-dimensional computer animations are created, from the modeling of rigid and non-rigid objects to the control of their position, orientation, size, shape, and surface properties. The students will gain experience in using both a 3-D graphics library and one or more commercial animation packages, and implement several of the key algorithms found in computer animation. Prerequisites by Topic: CS 4731. Additional recommended background is Linear Algebra (MA 2071) and Algorithms (CS 2223). Major Topics Covered in the Course: Traditional vs. Computer Animation 1 hour History of Computer Animation 2 hours Low Level Motion Specification 4 hours Articulated Motion 4 hours Surface Effects 4 hours Soft Object Animation 2 hours Free Form Deformation 2 hours Procedural and Behavioral Animation 4 hours Analyzing Commercial Animations 3 hours Laboratory projects: Project 1: (1 week) Create a multi-component object and animate two or more distinct components using the software you developed in CS4732. Any attribute, such as position, orientation, shape, size, or color can be animated. Project 2: (1 week) Create a multi-component 3D cartoon character with a diverse range of material properties using 3D Studio Max. Project 3: (1 week) Create a flying logo to advertise a real or fictitious company using 3D Studio. The logo itself can be 3-D text or an object, and it must ``fly'' around a scene of multiple objects (static or dynamic) of your choice. The path chosen must be curved, and the speed of the logo must vary (e.g., ease-in, ease-out). The logo should also do at least one complete flip (think of it as compulsory athletic exercises). Project 4: (2 weeks) Create a program using the software you developed in CS4731 that demonstrates articulated motion, i.e., component motion that is relative to the position and movement of another component. Either inverse (preferable) or forward kinematics may be employed. Project 5: (2 weeks) Design and implement an ad for some real or fictitious product using 3D Studio. It should last at least 30 seconds and include the following ``compulsory'' effects: inverse kinematics, free-form deformations, material changes, lofted objects, 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 to augment your animation. Estimate CSAB Category Content: CORE ADVANCED --------------------------------- Data Structures . . Algorithms . 2 Software Design . 1 Computer Organization and Architecture . . Concepts of Programming Languages . . Foundations . . Other . . Oral and Written Communications: No assignments involve oral or written communications, other than exams, commented programs, and instructions for executing projects. Social and Ethical Issues: No class time is spent on topics that address the social and ethical implications of computing. Theoretical Content: Approximately 1 hour is spent over the term discussing algorithm complexity. No other topics in computer science theory are discussed. Problem Analysis: Every student must analyze alternative algorithms for both modeling articulated objects and animating them. They must also analyze the requirements for the animation sequence and ascertain scenarios that might satisfy these requirements. Solution Design: Every student must design both objects to be animated as well as the specific parameters of the animation of each component of the scene. For the kinematics homework, each student must design the data structures and algorithms to make the articulated model perform a desired task. _____________________________________________________________________________