Computer Animation Lectures - first half

Last modified: 10:17 Mar 18, 1999

This page describes the lectures for the first half of the class. The classes after Spring Break are documented here.

Hopefully, there will be some guest lectures. I will also adjust the content of the course based on how things proceed.

The list of required readings for each class must be read before the class.

Where homework is listed, these are suggested assignments to help you better appreciate the material we are discussing. Unless otherwise announced, homeworks are not required (as apposed to assignments which are).

The lectures with numbers are the ones that are "planned." The unnumbered ones are still in the planning stages and are more likely to be changed.

Lecture 1: Introduction

The main thing for this lecture will be to go over the course policies and procedures, and to provide a bit of coming attractions.

Required Readings:

Course handouts (will be provided in class). All course handouts will be available on the web.

In-Class Viewing:

  • (excertps from) Toy Story by Pixar
  • (excepts from) Titanic
  • Grim Fandango trailer
  • (excerpts from) The Wrong Trousers (this is not computer animation, but it is one of my all time favorites, and will be good to inspire us)
  • Spacetime Swing
  • Tinkertoys (from my thesis)

Lecture 2: Overview of Animation

For this lecture, we'll take a survey of what computer animation is about. Then we'll look at the art of animation to get ideas of what we'll want to achieve.

Required Readings:

In-Class Viewing:

  •  Luxo Jr.
  • Charriots of Fur (Road Runner)
  • The Sorcerer's Apprentice (from Fantasia)

 Optional Readings:

  • Chapter 3 of the Illusion of Life. This would be required if it were easier to get a hold of.
  • Why Files on Computer Animation.
  • You might look at the on-line summary of Lasseter which has some interesting links.
  • You might look at on-line or popular press discussions of current animated films (such as A Bugs Life) to see the pre-production and planning process involved in animation.

Homework:

  • Watch some animation and identify how the principles are employed.

Lecture 3: Animation Systems and Math Basics

Last time, we looked at animation to see what we are trying to create. Now we'll start to look at the tools to actually make animation. Since there's little to read about the basic concepts, we'll look at a specific system (Maya).

We'll also begin talking about animation mathematically. The main thing will be to review some graphics terminology to get an idea of what it means to have objects that we will animate.

Required Readings:

  • Catmull's System for Computer Generated Movies
  • Understanding Maya (reading more about Maya isn't required, but is a good idea)
  • O'Rourke Course notes. (they are a bit long, but they aren't very dense. They are also specific to SoftImage, which we will not be using). As you read throught it, consider what it would be like to do this with Maya. You should skim these online.

In-Class Viewing:

  • Bingo
  • Maya promo real (excerpts)

Optional Readings:

  • Now might be a time to get started learning more about Maya.

Lecture 4: Keyframing and Parameterizations

Keyframing is the general way to "do animation by hand" with computers. We'll take a look at what it's about, and think a little about its mathematical implications.

Required Readings:

In-Class Viewing:

  • Another Pixar classic

Optional Readings:

  • Anything about Keyframing.

Homework:

  • Try keyframing to make some motion. Notice how hard it is to make nice looking or realistic motion.

 

Lecture 5 and 6: Cinematography, Composition, and Editing

For this lecture, we shift gears a bit and think about the art behind computer graphics. 3D computer animation has as much to learn from traditional filmmaking as traditional 2D animation, since we face all the same issues: how to convey what happens in a world through a sequence of images.

Unfortunately, filmmaking could be a whole life's study unto itself. As a computer scientist, I am not quite sure how to convey the general gist of the issues in filmmaking. But, it'll be fun to try.

The main topic I plan to discuss is cinematography (that is, choosing where to put the camera and how to move it). But related issues like composition, editing, lighting, ...

An alternate reason for introducing these topics is that there are interesting possibilities for building some of the filmmaking knowledge into animation tools. Some first stabs at this are included as optional readings.

Required Readings:

You are required to read some basic film book (at least the parts on shot composition, cinematography and editing). Some suggestions:

In-Class Viewing:

  • Mike's animation and film experiments
  • Tin Toy

Optional Readings:

Homework:

  • Watch a movie and pay attention to the cinematography, design and lighting. Try to identify cinematic techniques.
  • Experiment with camera placement in a simple scene or animation to see how changing the camera affects the piece.

For the 2nd Film lecture, we'll continue where we left off on the first, and discuss lighting.

We'll also spend some time on organizational issues and getting ready for next week's math.

Lecture 7: Parameterizations, Rotations and Quaternions

Last time we saw how to specify how parameters change. This time, we'll consider what parameters to have to change. Specifically, we'll consider rotations since they're what's tricky.

Required Readings:

For this lecture, the assignment is to understand why representing rotations is hard, and to get a grasp on the methods used in Computer Animation. Again, this may seem like a lot of reading, but its the same material over and over.

  • Section 4.3 of Parent's on-line notes. Don't try to figure out Quaternions from this.
  • The Shoemake Quaternions notes. You may read the paper instead. For this lecture, we won't discuss Quaternion interpolation in detail.
  • Grassia's Exponential Maps paper.

In-Class Viewing:

  • Flying Logos, Inc.

Optional Readings: 

  • You might look at some of the alternate quaternions references to get better intuitions about what they are about.
  • The Murray et. al. robotics text is also a good source for information on rotations.
  • The Shoemake and Duff "Polar Decompositions..." paper is interesting because it shows why interpolating the matrix is way hard. Probably too hard to bother with.
  • For ideas on other things to have as parameters, you might look at my thesis, or the Energy Constraints paper (which will be required reading later)
  • Interpolating quaternions is a hard, but interesting, problem. You might look at some of the recent literature on it.

Homework:

  • Try animating an object tumbling to see the problems with interpolating Euler angles.

Lecture 8: More Rotations and Hierarchies

There's enough to say about both topics that we need a second day to talk about Rotations. It'll also be a chance to get started with articulated figures and kinematics.

Lecture 9: Hierachies and Kinematics

Hierarchies are an important tool for modeling objects in graphics, especially objects that we will animate. Kinematics is the study of the motion of objects, but in graphics usually means the study of articulated (or hierarchical) objects. For this lecture, we'll try to examine why hierarchies are important but hard. We'll also take a glimpse at Inverse Kinematics, but defer closer examination of this until later when we develop the mathematical techniques.

You should have the basic ideas of kinematics and articulated figures from your intro graphics classes.

Required Readings:

Note: the details of doing inverse kinematics will be covered again later. For now, you should give the last paper a "quick read" to gain some understanding of what they're doing, and we'll come back to the details later when we discuss optimization more.

In-Class Viewing:

  •  T.B.D.

Optional Readings:

Lecture 10: Introduction to Simulation

Simulation usually means physics. However, from my point of view, simulation and optimization turn out to be the same thing. We'll start with the basics of simulation and I'll try to present it in a way that will make you see how the methods of physical simulation are related to the optimization methods.

Required Readings:

In-Class Viewing:

  •  Baraff Horse Video

Optional Readings:

Lecture 11: Particles and Penalty Methods

The basics of simulation are presented using the simplest possible objects (particles) and the simplest possible methods (penalties). Before moving on to more complicated things, we'll look at what we can do with these simple ones.

Required Readings:

This is probably too many papers for one lecture, but for these, the gist of the papers are important, not necessarily the details.

In-Class Viewing:

  • Her Majesty's Secret Serpent
  • Some particle simulation "classic" (Particle Dreams, Genesis sequence from Wrath of Kahn)
  • My early physics experiments (if I'm not too embarrassed)

Optional Readings:

  • More on particle systems and "soft objects"

Lecture 12: Catchup Day

This lecture was actually spent talking about video compression and other little details.

 

 

Lecture 13: Motion Capture

Required Readings:

In-Class Viewing:

  • Ghosts (making of)
  • Pieces from the Vicom sales literature
  • Snippets of the Protozoa demo reel

Optional Readings:

  • Good readings about motion capture are scarse. To learn more, I recommend looking around on the web. Especially, checking out the various mocap hardware vendors.
The main body of this lecture was a presentation by Andrew Prock.

 

Lecture 14: Guest Lecture, Jeff Thingvold

Jeff's notes on motion capture file formats are available here