Department of Computer Science Worcester Polytechnic Institute |
---|
Course Title: | Computer Animation |
---|---|
Course Number: | CS 4732 |
Term | D 2013 |
Meeting Info: | Tue. & Fri. 10:00-11:50am, Salisbury Labs (SL), Room 411 |
Instructor: | Prof. Robert W. Lindeman |
E-Mail: | gogo at wpi.edu |
Telephone: | x6712 |
TA: | Jia Wang (wangjia at wpi.edu) |
Readings: |
There is one main book for this course, and you will summarize other readings over the course of the term.
Two other (optional) books will help those in need of a better understanding of (game) physics:
Reading is manditory, and working ahead is encouraged. |
This course provides an in-depth examination of the algorithms, data structures, and techniques used to animate computer-generated objects. Rendering dynamic scenes involves imparting movement to produce a desired outcome, whether for scientific, medical, entertainment or other purposes. While artistic aspects of animation may be as important as technical aspetcs for some applications, this course focuses squarely on the technical aspects of computer animation. Other courses from the IMGD Program cover more of the artistic aspects of animation, and use common tools such as Maya. In this course, you will write all the movement code yourself, in order to better understand what is going on "under the hood" in such applications.
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.
As opposed to using commercial animation packages, students will be expected to develop their own programs to implement low-level algorithms commonly found in these tools to design and produce small- to moderate-sized animations. Both individual and group projects will be included.
There are several objectives for this course:
So, if you have not taken CS 4731 yet, PLEASE save yourself some pain, and take Computer Animation after you have taken Computer Graphics.
You will need to understand transformations (e.g., matrices, Euler angles), heierarchical modeling (e.g., scene graphs), and other graphics fundamentals.
20% | Weekly Quizzes |
20% | Paper Summaries |
30% | Regular Projects (Proj. 0, Proj. 1, Proj. 2, Proj. 3) |
30% | Final Project |
Quizzes will be given at the start of class every Tuesday.
Summaries are due at midnight each Friday night. Of course, you can submit them early if you like. No late summaries will be accepted, so keep up!
Working in pairs will be permitted on the final project. For all other projects each person should hand in his/her own work.
All of the projects must be done using C++/OpenGL or Java3D. You can use either your version of the rendering pipeline or the functions within OpenGL or Java3D. In particular, you will be implementing all of the motion-control code yourself, as opposed to using off-the-shelf tools, or libraries that provide functions for the movements you will be asked to create.
Instructions are provided with each assignment. Submissions 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).
Each file should include a comment at the start giving your name, the assignment for which it is intended, and the most recent date in which the file was changed. I use these file and function (method) headers in my code. Please adopt these (or something similar) for all your projects. The file header should be used for both ".h" and ".cpp" (or ".java", etc.) files. 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.
You must produce a capture of your work (i.e., things moving around) as a movie file, and post it to YouTube. Include the URL for the YouTube movie along with your submission.
Late Paper Summaries will not be accepted.
Projects are due at the specified date and time.
Late projects will be penalized 10% for each 24-hour period after
the due date/time. Whether a project is 3 hours or 20 hours late,
it will be graded down by 10%. You will be given adequate time to
complete each project, if you start when it is assigned.
Projects will be turned in electronically, and the date/time received
will be used to determine any late penalty. PLEASE do not miss class in order
to finish up a project.
The Zoo Lab (FL-A22) can be used for this course, and development tools are installed there. You are also free to work on your own computer.
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.
You are discouraged from using laptops/tablets/etc. in class, as these can distract others and yourself from the class. If you have a need to use a computer during class, please ask me first.
No cell-phone use of any kind will be tolerated during class.
Individual projects are expected to be done individually. As such, students are encouraged to discuss their work with each other, but are also expected to do the work by themselves.
Any breach of professional ethics as evidenced, for example, by copying exams or projects, downloading code from the Internet, cooperating in more than discussions and study groups, misusing computer resources, or using outside help of any kind, will be considered adequate reason for an NR in the course.
Group projects are designed so that every person gains a significant amount of new material. In the workplace, each team member is expected to contribute. Participants in group projects in this course should keep this in mind, and act accordingly. In evaluating each group, all team members will be asked to distribute a fixed set of "points" to the rest of their team, based on how much each member contributed.
It is to be emphasized that knowledge of material and professional behavior are tied together; failure in one of them negates any excellence in the other. Students who stay in the course past the first three days agree to adhere to the strictest rules of professional behavior.
The official WPI statements on Academic Integrity can be accessed at http://www.wpi.edu/offices/policies/honesty.html. Those who have any doubt about what that means, and fail to gain that understanding after a discussion with the instructor, are encouraged to drop this class. Remember this warning - any breach of ethics will earn you an NR.
Meeting | Date | Lecture Topic | Readings | Slides/URLs | Projects |
---|---|---|---|---|---|
1 | 03/12 (Tue) |
Course Logistics; Intro to traditional animation |
PARENT: Chapters 1 & 2 Paper for week 1 |
Intro |
ASSIGNED: Project 0: Hello, Animated Cube! |
2 | 03/15 (Fri) |
Intro to computer animation |
PARENT: Chapters 1 & 2 Paper for week 1 |
Orientation |
DUE: Project 0: Hello, Animated Cube!
ASSIGNED: Project 1: Follow My Spline!! |
3 | 03/19 (Tue) | Animating Position and Orientation |
PARENT: Section 3.1, Appendix B.5, Sections 3.2-3.5 Paper for week 2 |
||
4 | 03/22 (Fri) | Animating Position and Orientation |
PARENT: Section 3.1, Appendix B.5, Sections 3.2-3.5 Paper for week 2 |
Interpolation |
|
5 | 03/26 (Tue) | Animating Shapes |
PARENT: Sections 4.1-4.6 Paper for week 3 |
DUE: Project 1: Follow My Spline!! | |
6 | 03/29 (Fri) | Animating Shapes |
PARENT: Sections 4.1-4.6 Paper for week 3 |
Key Framing and Shape Animation |
ASSIGNED: Project 2: Take a Walk on the Wild Side!! |
7 | 04/02 (Tue) | Forward Kinematics |
PARENT: Sections 5.1-5.3 Paper for week 4 |
Kinematics |
|
8 | 04/05 (Fri) | Inverse Kinematics; Physically Based Modeling |
PARENT: Sections 7.1-7.2 Paper for week 4 |
Physically Based Modelling |
DUE: Project 2: Take a Walk on the Wild Side!! |
9 | 04/09 (Tue) | Behavioral Animation |
PARENT: Sections 7.4-7.7 Paper for week 5 |
Particles & Boids |
ASSIGNED: Project 3: Boids of a Feather!! |
10 | 04/12 (Fri) | Behavioral Animation |
PARENT: Sections 7.3, 11.1-11.6 Paper for week 5 |
Acceleration Structures |
|
10b | 04/16 (Tue) | NO CLASS!! WPI FOLLOWS THURSDAY SCHEDULE!! | DUE: Project 3: Boids of a Feather!! | ||
11 | 04/19 (Fri) | Animating Articulated Objects |
PARENT: Chapter 9 Paper for week 6 |
Articulated Humans |
ASSIGNED: Final Project: It Is What You Make It!! |
12 | 04/23 (Tue) | Animating Articulated Objects |
PARENT: Chapter 9 Paper for week 6 |
||
13 | 04/26 (Fri) | Animating Articulated Objects; Faces |
PARENT: Chapters 9 & 10 Paper for week 7 |
||
14 | 04/30 (Tue) | Faces; Final Project Presentations |
PARENT: Chapters 10 Paper for week 7 |
DUE: Final Project: It Is What You Make It!! |
Time | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
9:00 | |||||
:30 | |||||
10:00 | CS 4732 SL-411 |
CS 4732 SL-411 |
|||
:30 | |||||
11:00 | |||||
:30 | |||||
12:00 | |||||
:30 | |||||
1:00 | |||||
:30 | |||||
2:00 | |||||
:30 | |||||
3:00 | TA Office Hours FL-A22 (Zoo Lab) |
TA Office Hours FL-A22 (Zoo Lab) |
|||
:30 | |||||
4:00 | |||||
:30 | |||||
5:00 | |||||
:30 | |||||
6:00 | |||||
:30 | |||||
7:00 | |||||
:30 | |||||
8:00 | |||||
:30 |