The Animation of Natural Phenomena
Number: CSD 15-869
Instructor: Adrien Treuille
Office Hours: After class, or by appointment.
Time: MW 12:00pm - 1:20pm (Starts Sept 8!)
Location: WEH 5409


This class covers physical simulation in computer graphics. The goal is to teach a broad swath of techniques—from particle systems to human animation—while learning some math, working on fun projects, and practicing quick problem solving and public presentation skills.


The class is organized in a pipeline fashion. Each class starts with a class presentation on the previous class's topic. These presentations should deepen your understanding of the state-of-the-art. Then we'll have a lecture. Finally, we'll try to answer a question on the next week's topic--essentially challenging you to solve the problem better than the existing techniques.

Graphically, this looks like this:
Class n Class n+1 Class n+2
30 mins Paper Presentation Paper Presentation Paper Presentation
30 mins Lecture Lecture Lecture
20 mins Question Question Question
Topic A Topic B Topic C Topic D Topic E
Grading is computed as follows:
  • (24%) Project 1.
  • (24%) Project 2.
  • (36%) Final Project.
  • (16%) Class Presentation / Participation.
Grading for late projects must be negotiated with me before the project is due.

Project 1 Winners

Note: Click on an image to see the video.

1st Place: Bren Meeder
2nd Place: Heegun Lee
3rd Place: Jee Lee

Project 2 Winners

Note: Click on an image to see the video.

1st Place: Bren Meeder
2nd Place (TIE): Kristin Siu
2nd Place (TIE): Heegun Lee
3rd Place: Matt Stanton


Note: This syllabus may change during the course. Keep checking back.

Name: Introduction
Date: Mon 09/08
Slides: Lecture 1 Slides
Name: Differential Equations
Date: Wed 09/10
Reading: Differential Equation Basics
Slides: Lecture 2 Slides
Name: Implicit Integration and Particles
Date: Mon 09/15
Slides: Lecture 3 Slides
Reading: Implicit Methods for Differential Equations
Name: Symplectic Integration and Constraints
Date: Wed 09/17
Reading: Constrained Dynamics (sections 1-4 only)
Slides: Lecture 4 Slides
Notes: Presentation of first project.
Project: Project 1 Description
Project: Project 1 Skeleton Code
Project: Project 1 Supplemental Reading: An Introduction to the Conjugate Gradient Method Without the Agonizing Pain
Project: Building project 1 in Visual Studio 2008
Name: Hair
Date: Mon 09/22
Slides: Lecture 5 Slides
Name: Cloth
Date: Wed 09/24
Presentation: Hair (Jee)
Slides: Lecture 6 Slides
Name: Cloth Collisions
Date: Mon 09/29
Presentation: Cloth (Matt)
Slides: Lecture 7 Slides
Reading: Robust Treatment of Collisions, Contact and Friction for Cloth Animation
Name: Crowds
Date: Wed 10/01
Presentation: Cloth Collisions (Bren)
Slides: Lecture 8 Slides
Reading: Simulating Dynamical Features Of Escape Panic
Name: Partial Differential Equation Basics
Date: Mon 10/06
Presentation: Crowds (Tedo)
Presentation: Crowds (Frank)
Reading: Realistic Animation of Liquids
Slides: Lecture 9 Slides
Notes: First project due.
Name: Stable Fluids
Date: Wed 10/08
Presentation: Finite Difference Fluids (Heegun)
Reading: Stable Fluids
Slides: Lecture 10 Slides
Notes: Presentation of second project.
Project: Project 2 Description
Project: Project 2 Skeleton Code
Name: Boundaries and Free Surface Fluids
Date: Mon 10/13
Slides: Lecture 11 Slides
Presentation: Smoke (Linus)
Presentation: Smoke (Tedo 10/16)
Presentation: Water (Fadzuli 10/16)
Name: Particle-Based Fluids
Date: Mon 10/20
Slides: Lecture 12 Slides
Presentation: Splash (Riva)
Rigid Bodies
Name: Rigid Bodies
Date: Wed 10/22
Reading: Rigid Body Simulation (Baraff) (pages G1-G31)
Slides: Lecture 13 Slides
Presentation: Rigid Bodies (Jill)
Name: Rigid Body Collisions
Date: Mon 10/27
Reading: Rigid Body Simulation (Baraff) (pages G32-G67)
Slides: Lecture 14 Slides
Presentation: Rigid Bodies (Octavio)
Notes: Second project due.
Name: Deformable Objects
Date: Wed 10/29
Slides: Lecture 15 Slides
Presentation: Collisions (Fadzuli)
Name: Deformable Volumes
Date: Mon 11/03
Slides: Lecture 16 Slides
Presentation: Deformable (Riva)
Name: Deformable Collisions
Date: Wed 11/05
Slides: Lecture 17 Slides
Presentation: Deformable (Bren)
Name: Human Performance Capture
Date: Mon 11/10
Slides: Lecture 18 Slides
Presentation: Deformable (Heegun)
Name: Data-Driven Human Animation
Date: Wed 11/12
Slides: Lecture 19 Slides
Presentation: Performance Capture (Jill)
Name: Physics-Based Human Animation
Date: Mon 11/17
Reading: Model Reduction for Real-time Fluids (Sections 1, 3, and 4)
Slides: Lecture 20 Slides
Presentation: Humans (Frank)
Name: AMD Lecture: Physics on the GPU
Date: Wed 11/19
Name: Control
Date: Mon 11/24
Presentation: Humans (Kristin)
Presentation: Humans (Jee)
Presentation: Optimization (Linus)
Name: Model Reduction
Date: Mon 12/01
Presentation: Control (Kristin)
Presentation: Control (Octavio)
Presentation: Model Reduction (Matt)
Name: Final Project Presentations
Date: Wed 12/03
Notes: Final project due.

Last updated: Dec 29, 2008