This is a list of the reading materials for CS838, Computer Animation. They are not in the order that we will cover them. To see what is to be read for when, look at the syllabus.

At this point, I've only placed the readings for the first twelve lectures, and a few of the later readings as I've come across them.

I've made some markings on some of the papers:

REQUIRED - means that this paper is required reading for a lecture in the course.

SEMINAL - means that this paper is an important work in computer animation, and its important that you are familiar with it if you want to work in the field. Sometimes its because the paper is historically significant, or just because its the paper that everyone else has read.

I have prepared a reader of many of the required papers for this course. The reader will be available down in the DOIT Tech store in the lobby of the CS building. Because of copyright restrictions, I cannot include things that are in some journals, books, or web things. Also, some things I think are sufficient to read off the screen.

The included papers for reader #1:

1. Lasseter. Principles of Traditional Animation...
2. Hodgins and O'Brien. Computer Animation.
3. Catmull. A System for Computer Generated Movies.
4. Catmull. Problems in Computer Assisted Animation.
5. Shoemake. Animating Rotation with Quaternion Curves.
6. Shoemake. Quaternions.
7. Grassia. A Practical Formulation of the Exponential Map...
8. Maciejewski. Dealing with the Ill-Conditioned Equations of Motion for Articulated Figures.
9. Zhao and Badler. Inverse Kinematics Positioning Using Nonlinear Programming for Highly Articulated Figures.
10. Witkin and Baraff's Physics Notes Chapters (Differential Equation Basics), 2 (Particle System Dynamics), and 3 (Constrained Dynamics)
11. Gleicher. A Differential Approach to Graphical Interaction (chapters 3,4 and 5)
12. Reeves. Particle Systems...
13. Miller. Motion Dynamics of Snakes and Worms.
14. Witkin, Fleischer, Barr. Energy Constraints ...
15. Witkin, Gleicher, Welch. Interactive Dynamics.
16. Witkin and Welch. Fast Animation and Control ...
17. Issacs and Cohen.Controlling Dynamic Simulation ...

### General References on Computer Animation

Hodgins, J. and O'Brien, J. Computer Animation. To appear in The Encyclopedia of Computer Science.REQUIRED
A brief summary of the entire field in 5 pages or less. I'm assigning this since its a quick way to get a lot of the buzwords down.
In acrobat format online.
Tannenbaum, D. Why Files: Computer Animation. On-line.
"The Why Files" is a UW bi-weekly "on-line" magazine that tries to make science topics interesting to the mass audience. This story is a quick overview of animation, with a focus on methods for the creation of motion. Too non-technical to be useful, but fun.
O'Rourke, M. 3D Computer Animation Workshop. SIGGRAPH '98 Course Notes (course 34). On-line as acrobat.REQUIRED
These notes are a watered down version of his book Principles of 3D Computer Animation which is more targetted at artists and animators. These course notes intermix chapters of text (which are nice since they'll teach you the buzzwords) with walk-through tutorials to try things out. Unfortunately, these tutorials use a software package called SoftImage. However, you might read through them anyway to get a flavor of what another system might look like.
NOTE: do not print out the whole acrobat file. It is quite long, and not all of it is useful to you. While the whole thing is 79 pages long, there's really only 15-20 pages that are the "book" and that's what you're really required to read.

### Historically Important Papers

Many papers that are categorized by subject are also historically important. These here just didn't go somewhere else.

Catmull, E. A System for Computer Generated Movies. Proceedings of the 1972 ACM annual conference. REQUIRED SEMINAL
What's amazing about this is that the problems he faced then are still the problems we face now. This paper is more for historical perspective than anything else.
Catmull, E. The Problems of Computer Assisted Animation. Proceedings of SIGGRAPH '78. REQUIRED
This paper layed out the issues that Ed saw in using a computer to make animated films. Twenty years later, we have "A Bugs Life." I am including this paper because it gives some insight into the animation pipeline, and what is hard (e.g. why inbetweening isn't trivial)

### References on the Art of Animation

Lasseter, J. Principles of Traditional Animation Applied to Computer Animation. Proceedings SIGGRAPH '87.REQUIRED SEMINAL
This is the reference for what animation means in computer science. Much of this is the same material in the intro chapter of "The Illusion of Life," but simply making the graphics world aware of that material was a major achievement.
There is an on-line summary of this paper, but the paper is so important that you should read it.
Lasseter, J. Tricks to Animating Characters with a Computer. SIGGRAPH '94 Course Notes "Animation Tricks".
This is more of the same thoughts on how to make animation from a person who not only is a master, but had learned from the master. It is online.
Thomas, F. and Johnson, O., The Illusion of Life, Abbeville Press, 1981. Chapter 3: Principles of Animation.SEMINAL
This chapter is the reference for the "Disney Animated Style." The only reason that its not required reading is that I didn't want to require you to buy the book.
"Flik's Digital Adventure." On-line web page.
This is a very basic web page, targetted at showing kids how "A Bug's Life" was made. What I find interesting about is that it tells the Pixar story: focussing on story and preproduction.

### Maya

You will probably want to do some reading about Maya in order to use it for the class. The Maya manuals may be scarse in print form, but they are available on-line. (note: that link is for NT in CS. The unix path is: /s/maya-1.0/i386_nt35/program/Maya1.0/docs/en_US/html).

The book "Learning Maya" is a tutorial (note: there is a different book called "Introducing Maya"). The easiest way to get started is to work through the examples in the book. The book is on-line.

There is a "preface chapter" called Understanding Maya which gives you a quick feature list for Maya. It is on-line.REQUIRED
Understanding Maya is required reading since it will give you ideas about what kinds of things a 3D animation system does.

### Rick Parent's Notes

Rick Parent is a professor at Ohio State who teaches classes in Computer Graphics and Animation. He has been putting together a book on computer animation, that right now is a sequence of web pages.

• Chapter 1 is a nice overview of computer animation. I especially like it because it puts things into historical perspective with traditional animation. Often, his lists of significant films or places aren't the ones I would have picked, but in general, it gets the ideas across.REQUIRED
• Chapter 4 is about motion. The first sections are the basics of keyframing (described very nicely) REQUIRED.
• Chapter 5 is about higher level techniques for motion. I am not that fond of his discussion of constraints or physics,
• Appendix A has a nice review of interpolation with cubics. REQUIRED

### Quaternions and Rotations

Rotations are a tricky and important topic in animation. Basically, it's difficult to represent a rotation in 3D. Any way that you try to do it will have some problems. The most common ways to do it in computer graphiucs/animation are Euler Angles, which turn out to be really bad. Quaternions are a different way to do it that are becoming more popular. They are not without their problems.

Grassia, S. A Practical Formulation of the Exponential Map for Rotations. To Appear in the Journal of Graphics Tools.REQUIRED
On-line Postscript. Acrobat.
This paper introduces an alternative to Quaternions and Euler Angles that I think is very interesting. It's nice because it discusses the problems with different types of representations
Shoemake, K. Animating Rotation with Quaternion Curves. SIGGRAPH '85. (the original version has some known typos, in the SIGGRAPH '91 Course Notes "Math for Computer Graphics" it is reprinted with corrections).SEMINAL
This is "the" reference for Quaternions in computer graphics. This paper is pretty much responsible for introducing the graphics community to quaternions, so everyone cites it. Even if you learn quaternions from elsewhere, you should be familiar with this paper.
Shoemake, K. Quaternion Calculus for Animation. SIGGRAPH '91 Course Notes "Math for Computer Graphics."
This is a "lecture notes" version of his paper. Pretty much the same material, but its important so its worth saying again.
Shoemake, K. Quaternions. On-line paper. (citation unknown) REQUIRED
Ken keeps writing newer versions of the Quaternions paper. This one is nice since it is a little bit more formal, and also gives you more intuitions why the mathematics works the ways it does.
Bobick, N. Rotating Objects Using Quaternions. Game Developer Magazine, July 1998.
I stumbled on this reference while searching the web for Shoemake's stuff. It's a nice, consice, description that really cuts to the chase of what you need to do to actually use quaternions, along with some intuitions of why.
On line version.
Murray, R. Li, Z. and Sastry, S. A Mathematical Introduction to Robotic Manipulation. CRC Press, 1994.
This book is the only place I ever really saw exponential coordinates discussed in any kind of useful way (until the very recent graphics and vision papers).

Shoemake, K. and Duff, T. Matrix Animation and Polar Decompositions.

The moral of the story is that you don't want to interpolate matrices. This paper is an attempt to try to do it, if you really have to.
Compressed Postscript.

### Constraints

Ivan Sutherland's Sketchpad system invented constraints. It basically invented interactive graphics too. In 1962, Sutherland was doing direct manipulation, interactive animation, constraints, ... It is important to know about this system, if just to be in awe of what he achieved that far back. I am not sure what paper to recommend to people. SEMINAL

My thesis was about how to use constraints for interactive graphics. One of its strongest points is that it took an incredibly general view of what constraints and objects are, which I think is very valuable for animation. Some of the chapters will be required reading, because they describe things the way I like to describe them:

• Chapter 3 - Differential Methods - describes how to do "simulation-like" optimization, and talks about how to handle many of the nasty cases like over-constrained systems. REQUIRED
• Chapter 4 - Efficient Solution Methods - is generally full of useful tricks on how to make numerical constraint stuff go fast. REQUIRED
• Chapter 5 - Snap-Together Math - talks about how to implement the constraint stuff in a general way. REQUIRED
Witkin, A. Fleischer, K. and Barr, A. Energy Constraints on Parameterized Models. Proceedings SIGGRAPH '87. REQUIRED
This paper is significant because it really was the first place to talk about constraints in a general way, rather than specific geometric attributes. For animation, it is interesting because it has the notion of making animation by having things self-assemble. They got very interesting results using very simple methods.
Postscript(Compressed) Acrobat
Surles, M. An Algorithm with Linear Complexity for Interactive, Physically-Based, Modeling of Large Proteins
This paper is interesting because it goes to extremes to achieve interactive rates on the "physics" computations. Where my work at the time was stressing dynamicness (e.g. the user was changing the constraints), Mark was pushing the limits on the number of constraints.
A current page on the SCULPT system, or look at the page of the company mark founded to market it.

### Kinematics and Inverse Kinematics

The basics of kinematics (hierarchical modeling) are so imbedded in graphics that there really is no good reference. You should be familiar with the basic ideas (forward kinematics) from your earlier courses.

Inverse Kinematics (the problem of determining what joint angles correspond to desired end-effector configurations) is a special case of constraint solving. However, its also an essential problem in computer graphics. I don't know of a definitive reference. People are too busy "just doing it" to write about it. I'm sure there are good references out there in the robotics literature.

Maciejewski, A. Dealing with the Ill-Conditioned Equations of Motion for Articulated Figures. IEEE Computer Graphics and Applications, May 1990. REQUIRED
I am requiring this paper because it discusses some of the basic problems with doing IK in a nice way. I'm not sold on his solution to the problems (and this paper is a bit dated), but it a good paper for making you think.
Zhao, J and Badler, N. Inverse Kinematics Positioning Using Nonlinear Programming for Highly Articulated Figures. ACM Transactions on Graphics, October 1994. REQUIRED
This is as close as it gets to a definitive work. The basic idea, that IK is a non-linear constraint solving problem, so feed it to a non-linear constraint solver, seems so obvious, but this is really the place where they wrote it down. It is probably better to learn the optimization algorithms from an optimization text.
Wellman, C. Inverse Kinematics and Geometric Constraints for Articulated Figure Manipulation.
This is slightly obscure, but it has a nice survey for its related work section, and actually discusses a lot of the details and compares many different approaches.
You can get a copy on-line.
Issacs and Cohen. Controlling Dynamic Simulation with Kinematic Constraints, Behavior Functions, and Inverse Dynamics. Proceedings SIGGRAPH '87.
This paper is important since its really the first place where the put together inverse dynamics and animator control. There methods are a bit simplistic by today's standards (and have been superceded), but they did get things to work.

### Filmmaking

I've made some comments on the suggested film books on the books page.

Katz, S. Film Directing, Shot by Shot. REQUIRED
NOTE: what is really required is to read something about cinematography. This is the best choice.
This is a great book on cinematography. Chapters 6 and 7 will give you a good overview of how to compose pictures and how to use camera movement. The final half of the book is more and more examples. The early part of the book does an excellent job of discussing storyboards.
Cantine, Howard, and Lewis. Shot by Shot. REQUIRED
NOTE: this specific book isn't required, something covering its content is.
As I mention on the books page, this is an excellent, brief introduction to the basics. For the cinematography lecture, read chapters 3 (composition), 4 (continuity), 5 (editing), and preferably 7 (lighting). The book is very brief.

These papers are interesting attempts to use filmmaking knowledge in animation tools. They would make for interesting projects.

He, L. Cohen, M. and Salesin, D. The Virtual Cinematographer: A Paradigm for Automatic, Real-Time Camera Control and Directing. Proceedings SIGGRAPH '96.
An implementation of the concepts for filming dialog, including camera placement and shot selection.
Drucker, S and Zeltzer, D. Intellegent Camera Control in a Virtual Environment. Proceedings 1995 Symposium on Interactive 3D Graphics.
An interesting system for planning complex camera motions based on the other objects in the world.

### Particle Systems

Particle systems are a very basic technique in computer graphics. So basic, that no one bothers to write much about them. However, with a bit of hackery, they turn into a general purpose method for modeling lots of different things, and have been used to do a wide range of effects.

William T. Reeves, "Particle Systems - A Technique for Modeling a Class of Fuzzy Objects", ACM Transactions on Graphics, Vol 2:2. SEMINAL REQUIRED
This is the original paper about particle systems. Well, the original paper was the 1982 SIGGRAPH paper, of which this is an extended version.
An on-line summary of the paper is available.

### Physics

The primary text for physics will be the SIGGRAPH course notes put together by Andy Witkin and David Baraff. They were nice enough to put them online, and some of them I'm putting into the course reader. Often, this is material from papers (some of which are on the reading list too), but where there is duplication, this set of notes is a better tutorial. They contain:

Witkin, A. and Gleicher, M. and Welch, W. Interactive Dynamics. Proceedings of the 1990 Symposium on Interactive 3D Graphics. REQUIRED
I think this is the first place where the equations for doing constrained dynamics (and generalized IK) are written out in a usable form.
Acrobat Postscript

Witkin, A. and Welch, W. Fast Animation and Control of Nonrigid Structures. Proceedings of SIGGRAPH '90. REQUIRED

This paper takes a cute idea - that if you have a simple deformation as your modeling primitive, you can simulate physics on it really easily, and builds it into a whole system. Recommended reading since it actually works through all the physics (which is possible because they are so simple). You will probably catch me calling this work "troids," which is what we called it at the time.
Postscript Acrobat

Al Barr's group at Caltech was doing important "Physically-Based Modelling" work in the late 80s. At SIGGRAPH '88, they published 2 papers. Both of which were superceded with later journal or book versions.

Platt, J. and Barr, A. Constraint-Methods for Flexible Models. Proceedings SIGGRAPH '88.
This paper is generally superceded by Platt's later journal paper. This is really the first paper to use good mathematical methods to simulate general constraints. When it came out, I didn't quite understand how it related to what we were doing at CMU.
Platt, J. A Generalization of Dynamic Constraints. CVGIP: Graphical Models and Image Processing, vol. 54, no. 6, November, pp. 516-525, (1992).
A much cleaned up version of the SIGGRAPH paper. The techniques are closely related to the ones we were using at CMU. I prefer our notation, so I am requiring our papers instead of this one.
Barzell, R. and Barr, A. A Modeling System Based on Dynamic Constraints. Proceedings SIGGRAPH '88.
This paper is basically about how to define objects by taking simpler objects, hooking them together with constraints, and then letting physics pull them together. This paper is nice in terms of its philosophy, but hard to read for its notation. It's also impossible to photocopy because of the small print, so I'm not putting it on the reading list.

### High-Level Control of Physical Objects

Miller, G. The Motion Dynamics of Snakes and Worms. Proceedings SIGGRAPH '88. REQUIRED
A nice paper because it shows how simple methods can be used to nice effect, when they are appropriate.
Barzell, R. Physically-Based Modelling for Computer Graphics. Academic Press, 1992.
This book is more philosophy than technique, unfortunately.

### Spacetime Constraints

Witkin, A. and Kass, M. Spacetime Constraints. Proceedings SIGGRAPH '88. SEMINAL REQUIRED
This paper introduced spacetime constraints, and provided results that were compelling enough to make it hard for anyone else to follow.
Postscript Acrobat
Cohen, M. Spacetime Windows. Siggraph '92.
A system for doing Spacetime.
Zicheng Liu, Steve Gortler, and Michael F. Cohen, Hierarchical Spacetime Control, SIGGRAPH 94 (Orlando, Florida, July 24-29, 1994)
This paper shows how to use wavelets to make spacetime go faster and be more robust.
Postscript

J. Thomas Ngo and Joe Marks, "Spacetime Constraints Revisited," SIGGRAPH 93 Conference Proceedings, pp. 343-350, Anaheim, CA, August, 1993.
Shows how to evolve creature behaviors by genetic programming. Makes neat motions
Compressed Postscript
Joel Auslander and Alex Fukunaga and Hadi Partovi and Jon Christensen and Lloyd Hsu and Peter Reiss and Andrew Shuman and Joe Marks and J. Thomas Ngo, "Towards Practical Automated Motion Synthesis," Transactions on Graphics, 1995, To appear.
This is the updated "long form" of the SIGGRAPH paper. They changed solver methods midstream.
Sims, K. Evolving Virtual Creatures. SIGGRAPH '94.
This not only synthesizes the motions, but synthesizes the creatures that go along with it.
Here's a website about the work.

### 3D User interfaces

Zeleznik, R. Herndon, K. and Hughes, J. Sketch: An Interface for Sketching 3D Scenes. Proceedings SIGGRAPH '96 REQUIRED .
One of the best pieces of 3D User Interface works ever. An important system to know about.
On line as HTML.
A cute miniture version that runs as a Java applet.

### Motion Capture

Bobby Bodenheimer, Charles Rose, Seth Rosenthal, and John Pella . The Process of Motion Capture: Dealing with the Data. Computer Animation and Simulation '97. Proceedings of the Eurographics Workshop. REQUIRED
Postscript Acrobat
Scott Dyer, Jeff Martin, John Zulauf. Motion Capture White Paper REQUIRED
On-line
This is as good a technology overview as I can find easily. Beware: it is a bit dated. However, it is great for getting you to understand the terms involved.

### Motion Processing

Rose, C. Guenter, B. Bodenheimer, B. Cohen, M. Efficient Generation of Motion Transitions using Spacetime Constraints. Proceedings SIGGRAPH '96.
Compressed Postscript - Uncompressed Postscript (huge)
Microsoft Human Figure Animation project page.
Bruderlin, A and Williams, L. Motion Signal Processing. Proceedings SIGGRAPH '95. REQUIRED
Acrobat.
Popovic, Z and Witkin, A. Motion Warping. Proceedings SIGGRAPH '95. REQUIRED
Acrobat
Unuma, Anjyo and Takeuichi. Fourier Principles for Emotion-Based Human Figure Animation.
Acrobat.
Gleicher, M. Motion Editing with Spacetime Constraints. Proceedings 1997 Symposium on Interactive 3D Graphics.
Acrobat
Gleicher, M. Retargetting Motion to New Characters. Proceedings SIGGRAPH '98.
Acrobat.

### Numerical Analysis

Press, Teukolsky, Vettering, and Flannery. Numerical Recipes in C.
I am not requiring you to read it, but you'll probably want to anyway. Some particularly useful pieces for this class:
• Chapter 2 on Linear Systems.
• Chapter 9 on solving equations
• Chapter 10 on optimization
• Chapter 16 on Ordinary Differential Equations

### Papers that will probably not be required reading for class, but might make great projects:

Good Vibrations. Pentland and Williams, SIGGRAPH '89.

Westenhofer, William and Hahn, James. "Using Kinematic Clones to Control the Dynamic Simulation of Articulated Figures", Invited Paper, Computer Graphics International, June 24-26, 1996, Pohang, Korea. (Postscript)

Gritz, L. and Hahn, James. "Genetic Programming for Articulated Figure Motion", Journal of Visualization and Computer Animation, vol. 6: 129-142 (1995). (Postscript)

Gritz, Larry and Hahn, James, "Genetic Programming Evolution of Controllers for 3-D Character Animation" Proceedings of the Genetic Programming '97 Conference, July 1997. (Postscript)

Wiley, Doug and Hahn, James, "Interpolation Synthesis of Articulated Figure Motion," IEEE Computer Graphic and Applications, November/December 1997, Volume 17, No. 6, pp. 39-45.