The Animation of Natural Phenomena
Number: CSD 15-869
Location: GHC 4215
Instructor: Adrien Treuille
TA: Jeehyung Lee
Office Hours: Mondays 3-4pm (Smith 232)
Time: TR 3:00 - 4:20pm (Starts Sept 8!)


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.
    • (5%) Checkpoint.
    • (31%) Final.
  • (16%) Class Presentation / Participation.
Grading for late projects must be negotiated with me before the project is due.

Project 1 Winners

Note: See all project 1 videos here.

Gene Han

Wayne Huang

Desai Chen

Project 2 Winners

Note: See all project 2 videos here.

Alfred Barnat

Zizzy Yang

Ross Adelman

Duncan Boehle


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

Name: Introduction
Date: Thu 09/09
Slides: Lecture 0 Slides
Notes: Lecture 0 Notes
Name: Differential Equations
Date: Tue 09/14
Slides: Lecture 1 Slides
Notes: Lecture 1 Notes
Notes: Euler's Method
Name: Particles, Implicit, and Symplectic Integration
Date: Thu 09/16
Slides: Lecture 2 Slides
Notes: Integration Spreadsheet
Presentation: Wayne Huang (CInDeR: Collision and Interference Detection in Real-time using Graphics Hardware)
Name: Large Linear Systems
Date: Tue 09/21
Slides: Lecture 3 Slides
Notes: Lecture 3 Notes
Notes: Conjugate Gradient
Presentation: Jeff Lio (Advanced Character Physics)
Name: Constraints
Date: Thu 09/23
Slides: Lecture 4 Slides
Notes: Constraints Notes
Reading: Differential Equation Basics
Reading: Implicit Methods for Differential Equations
Presentation: Yantong Liu (Astrophysical System Simulated on Graphics Hardware)
Name: Hair
Date: Tue 09/28
Reading: Constrained Dynamics (sections 1-4 only)
Slides: Lecture 5 Slides
Presentation: Gene Han (Deformation Constraints in a Mass-Spring Model to Describe Rigid Cloth Behavior)
Project: Project 1 Assigned
Project: Project 1 Description
Project: Project 1 Skeleton Code
Project: Conjugate Gradient Example Code
Project: Project 1 Supplemental Reading: An Introduction to the Conjugate Gradient Method Without the Agonizing Pain
Name: Cloth and Collisions
Date: Thu 09/30
Slides: Lecture 6 Slides
Presentation: Val Reznitskaya (A Mass Spring Model for Hair Simulation)
Name: Crowds and Flocks
Date: Tue 10/05
Slides: Lecture 7 Slides
Presentation: Andrew Wesson (Group Motion Editting)
Name: No Class (Adrien out of Town)
Date: Thu 10/07
Name: Particle-Based Fluids
Date: Tue 10/12
Slides: Lecture 8 Slides
Presentation: Ford Hu (Simulating Knitted Cloth at the Yarn Level)
Presentation: Zizhuang Yang (ClearPath: Highly Parallel Collision Avoidance for Multi-Agent Simulation)
Project: Project 1 Due
Name: No Class (Adrien out of Town)
Date: Thu 10/14
Name: Partial Differential Equation Basics
Date: Tue 10/19
Slides: Lecture 9 Slides
Presentation: Prahlad Menon (Wave Particles)
Name: Stable Fluids
Date: Thu 10/21
Slides: Lecture 10 Slides
Notes: Lecture 10 Notes
Presentation: Ross Adelman (Harmonic Fluids)
Presentation: Freeson Wang (Detail Preserving Continuum Simulation of Straight Hair)
Project: Project 2 Assigned
Project: Project 2 Description
Project: Project 2 Skeleton Code
Reading: Stable Fluids Supplemental Reading
Name: Boundaries and Free Surface Fluids
Date: Tue 10/26
Slides: Lecture 11 Slides
Presentation: Alfred Barnat (Target Driven Smoke Animation)
Rigid Bodies
Name: Rigid Bodies
Date: Thu 10/28
Slides: Lecture 12 Slides
Presentation: Jake Poznanski (Animation of Suspended Particle Explosions)
Presentation: Desai Chen (Interactive Free Surface Fluids with the Lattice Boltzmann Method)
Name: Rigid Body Collisions
Date: Tue 11/02
Slides: Lecture 13 Slides
Reading: Rigid Body Simulation (Baraff) (pages G1-G67)
Presentation: Duncan M Boehle (Coupling Water and Smoke to Thin Deformable and Rigid Shells)
Name: Deformable Objects
Date: Thu 11/04
Slides: Lecture 14 Slides
Presentation: Timothy Luciani (Resolving surface collisions through intersection contour minimization)
Project: Project 2 Due
Name: Deformable Volumes
Date: Tue 11/09
Slides: Lecture 15 Slides
Presentation: Ilya Gershgorin (Nonconvex Rigid Bodies with Stacking)
Presentation: James Moffatt (Joint-aware Manipulation of Deformable Models)
Project: Project 3 Assigned
Project: Project 3 Description (REVISED!)
Name: Deformable Collisions
Date: Thu 11/11
Slides: Lecture 16 Slides
Presentation: David Klionsky (Volume Conserving Finite Element Simulation of Deformable Models)
Name: Human Performance Capture and Data-Driven Human Animation
Date: Tue 11/16
Slides: Lecture 17 Slides
Presentation: Steven Lu (Real-Time Rigid Body Simulation on GPUs)
Presentation: Ken Toh (Constraint-Based Motion Synthesis for Deformable Models)
Name: Physics-Based Human Animation
Date: Thu 11/18
Slides: Lecture 18 Slides
Presentation: Debraj Bose (Meshless Deformation)
Presentation: Sophie Wang (Articulated Mesh Animation from Multi-view Silhouettes)
Project: Project 3 Midpoint Check
Name: Control
Date: Tue 11/23
Slides: Lecture 19 Slides
Name: No Class (Thanksgiving)
Date: Thu 11/25
Name: Model Reduction
Date: Tue 11/30
Slides: Lecture 20 Slides
Presentation: Eric Butler (Many-Worlds Browsing for Control of Multibody Dynamics)
Name: AMD Lecture: OpenCL Programming
Date: Thu 12/02
Link: OpenCL Website
Name: Final Project Presentations
Date: Tue 12/07
Time: 1pm - 4pm
Location: DH A310
Project: Project 3 Due

Last updated: Dec 10, 2010