[SCS dragon logo]
[ETC Logo]

Physical Simulation for Computer Animation
Computer Science Department
Entertainment Technology Center
Carnegie Mellon University

INSTRUCTOR: Adam Bargteil (Office hours: By appointment, NSH 4229)
WEB PAGE: http://graphics.cs.cmu.edu/courses/15-869/
WIKI: http://graphics.cs.cmu.edu/courses/15-869/wiki

Number 15-467 15-869 53-880
Units 9 12 12
Time (M/W)       1:30-2:50pm 1:30-2:50pm 6:00-7:20pm
Place Wean Hall 4623       Wean Hall 4623       PTC MPR
Final (time) 12/14, 1 - 4pm       12/14, 1 - 4pm       12/14, 6pm - 8pm
Final (place) Porter Hall A18C      Porter Hall A18C       ????

Three Different Course Numbers?:
That's right: one for computer science undergraduates, one for computer science graduate students and one for ETC students. The computer science students will meet together Monday and Wednesday afternoons. However, the requirements and workload will be different for the undergrauate and graduate students. Graduate students will be expected to do more sophisticated final projects and will be required to present/lead discussion on a few scientific papers over the semester. Undergraduates are also encouraged to present papers, especially if they are considering graduate school.

ETC students will meet Monday and Wednesday evenings at the ETC. This section will cover roughly the same material, but will focus slightly more on applications in the entertainment industry. ETC students will also present a few papers.

All sections will be a mix of seminar-style paper presentations/discussions and prepared lectures.

Note: If you have trouble registering or are waitlisted, please see me.

Physically based simulation techniques have revolutionized special effects in film and video games, creating extremely realistic effects while allowing unprecedented artistic control and avoiding dangerous situations. This course will explore physically based simulation methods for computer animation of a wide variety of phenomena and materials including rigid and deformable solids, cloth, liquids, and explosions. Students will be introduced to numerical methods, physical models, data structures, and theoretical results which form the building blocks of these methods. To gain hands-on experience, students will implement basic simulators for several phenomena.


Programming experience and basic familiarity with linear algebra and calculus is assumed. Some background in computer graphics is helpful.

PROGRAMMING ASSIGNMENTS: Your programming assignments should produce two final products: a short video and a short paper. The video should demonstrate your system and the paper should describe what you've done. Late Policy: You have five late days to be used over the semester. These should provide sufficient flexibility to handle other project deadlines. After using these days, there will be a 10%/day late penalty.
Assignment Due Date Description
Particle System Sep. 17, 2007     Description
Cloth or Deformable Bodies     Oct. 8, 2007 Description (updated 10/05/07 with new meshes)
Smoke Simulator Oct. 31, 2007 Description (updated 10/24/07)
Final Project Dec. 5, 2007

While there is no text covering the topics in this course, Physically Based Deformable Models in Computer Graphics by Andrew Nealen, Mathias Muller, Richard Keiser, Eddy Boxerman and Mark Carlson is a nice survey paper of the field. The 2001 course notes on Physically Based Modeling are another good resource. Other useful resources can be found in the schedule below.

CLASS SCHEDULE (subject to change)

Date Topic Reading
08/27/07      Introduction
08/29/07      Particle Systems Particle Systems---a Technique for Modeling a Class of Fuzzy Objects
W.T. Reeves
Particle Animation and Rendering Using Data Parallel Computation
Karl Sims
Flocks, Herds, and Schools: A Distributed Behavioural Model
Craig Reynolds
Physically Based Modeling: Particle System Dynamics
Andrew Witkin
09/05/07      Labor Day. No Classes.
09/05/07      Spring Mass Systems &
Elastic Bodies
Physically Based Modeling: Differential Equations Basics
Andrew Witkin & David Baraff
Physically Based Modeling: Particle System Dynamics
Andrew Witkin
Elastically Deformable Models
Demitri Terzopoulos, John Platt, Alan Barr, Kurt Fleischer
Modeling Inelastic Deformation: Viscoelasticity, Plasticity, Fracture
Demitri Terzopoulos & Kurt Fleischer
09/10/07      Finite Element Methods Graphical Modeling and Animation of Brittle Fracture
James O'Brien & Jessica Hodgins
09/12/07      Stability & Implicit Integration Physically Based Modeling: Implicit Methods for Differential Equations
David Baraff
Physically Based Deformable Models In Computer Graphics
Andrew Nealen, Mathias Muller, Richard Keiser, Eddy Boxerman, Mark Carlson
09/17/07      Linear-Strain Finite Elements Stable Real-Time Deformations
M. Mueller, J. Dorsey, L. McMillan, R. Jagnow, B. Cutler
09/19/07      Invertible Finite Elements Invertible Finite Elements For Robust Simulation of Large Deformation
Geoffrey Irving, Joey Teran, Ron Fedkiw
09/24/07      Cloth I Large Steps in Cloth Simulation
David Baraff & Andrew Witkin
09/26/07      Cloth II Robust Treatment of Collisions, Contact and Friction for Cloth Animation
Robert Bridson, Ron Fedkiw, John Anderson
10/01/07      Modal Decompositions &
Reduced Coordinates
Interactive Deformation Using Modal Analysis with Constraints
Kris Hauser, Chen Shen, and James O'Brien
Real-Time Subspace Integration for St.Venant-Kirchhoff Deformable Models
Jernej Barbic & Doug James
10/03/07      Fluid Simulation using Finite Differences Realistic Animation of Liquids
Nick Foster & Dimitri Metaxas
Rigid, Melting and Flowing Fluid (pages 31-54)
Mark Carlson
10/08/07      Stable Fluids & Vortex Confinement Stable Fluids
Jos Stam
Visual Simulation of Smoke
Ron Fedkiw, Jos Stam, Henrik Wann Jensen
10/10/07      Level Set Methods and Surface Tracking Animation and Rendering of Complex Water Surfaces
Doug Enright, Steve Marschner, Ron Fedkiw
A Semi-Lagrangian Contouring Method for Fluid Simulation
Adam Bargteil, Tolga Goketkin, James O'Brien, John Strain
10/15/07      Fluid Simulation on Tetrahedral Meshes Animating Gases with Hybrid Meshes
Bryan Feldman, James O'Brien, Bryan Klingner
To be presented by FunShing Sin (15-869)
Liquid Simulation of Lattice-Based Tetrahedral Meshes
Nuttapong Chentanez, Bryan Feldman, Francois Labelle, James O'Brien, Jonathan Shewchuk
10/17/07      Catchup Day
10/22/07      Fluid Simulation with Particles Particle-Based Fluid Simulation for Interactive Applications
Mathias Mueller, D. Charypar, Markus Gross
To be presented by Samik Bhowal (53-880)
Animating Sand as a Fluid
Yongning Zhu, Robert Bridson
To be presented by Ashutosh Mimani (53-880)
Adaptively Sampled Particle Fluids
Bart Adams, Mark Pauly, Richard Keiser, Leonidas Guibas
10/24/07      Explosions & Fire Animating Suspended Particle Explosions
Bryan Feldman, James O'Brien, Okan Arikan
To be presented by Stephen Calender (53-880)
To be presented by Eakta Jain (15-869)
Wrinkled Flames and Cellular Patterns
Jeong-Mo Hong, Tamar Shinar, Ron Fedkiw
To be presented by Hui Wei Sung (53-880)
To be presented by Eakta Jain (15-869)
10/29/07      Controlling Fluids Target-Driven Smoke Animation
Raanan Fattal & Dani Lischinski
To be presented by FunShing Sin (15-869)
Fluid Control Using the Adjoint Method
Antoine McNamara, Adrien Treuille, Zoran Popovic, Jos Stam
10/31/07      Rigid Body Dynamics Physically Based Modeling: Rigid Body Simulation
David Baraff
11/05/07      Collision Detection & Handling Physically Based Modeling: Rigid Body Simulation
David Baraff
11/07/07      Resting Contact &
Lots of Bodies
Fast Contact Force Computation for Nonpenetrating Rigid Bodies
David Baraff
Nonconvex Rigid Bodies with Stacking
Eran Guendelman, Robert Bridson, Ron Fedkiw
11/12/07      Controlling Rigid Bodies Interactive Manipulation of Rigid Body Simulations
Jovan Popovic, Steven Seitz, Michael Erdmann, Zoran Popovic, Andrew Witkin
Sampling Plausible Solutions to Multi-Body Constraint Problems
Stephen Chenney & David Forsyth
Many-Worlds Browsing for Control of Multibody Dynamics
Christopher Twigg & Doug James
11/14/07      Hair Modeling Dynamic Hair as a Continuum
Sunil Hadap & Nadia Magnenat-Thalmann
Super-Helices for Predicting the Dynamics of Natural Hair
Florence Bertails, Basile Audoly, Marie-Paule Cani, Bernard Querleux, Frederic Leroy, Jean-Luc Leveque
A Survey on Hair Modeling: Styling, Simulation and Rendering
Kelly Ward, Florence Bertails, Tae-Yong Kim, Stephen R. Marschner, Mari-Paule Cani, Ming C. Lin
11/19/07      Coupling Fluids to
Rigid & Deformable Bodies
Rigid Fluid: Animating the Interplay Between Rigid Bodies and Fluid
Mark Carlson, Peter Mucha, Greg Turk
Coupling Water and Smoke to Thin Deformable and Rigid Shells
Eran Guendelman, Andrew Selle, Frank Losasso, Ron Fedkiw
11/21/07      Thanksgiving. No Classes.
11/26/07      Fracture Graphical Modeling and Animation of Brittle Fracture
James O'Brien & Jessica Hodgins
To be presented by Stefan Zickler (15-869)
Graphical Modeling and Animation of Ductile Fracture
James O'Brien, Adam Bargteil, Jessica Hodgins
To be presented by Stefan Zickler (15-869)
A Virtual Node Algorithm for Changing Mesh Topology During Simulation
Neil Molino, Zhaosheng Bao, Ron Fedkiw
To be presented by Stefan Zickler (15-869)
11/28/07      Viscoelastic Fluids &
Elastoplastic Solids
A Method for Animating Viscoelastic Fluids
Tolga Goktekin, Adam Bargteil, James O'Brien
To be presented by FunShing Sin (15-869)
A Finite Element Method for Animating Large Viscoplastic Flow
Adam Bargteil, Chris Wojtan, Jessica Hodgins, Greg Turk
12/03/07      Point-based Animation
of Solids
Point Based Animation of Elastic, Plastic and Melting Objects
Matthias Mueller, Richard Keiser, Andy Nealen, Mark Pauly, Markus Gross, Marc Alexa
Meshless Animation of Fracturing Solids
Mark Pauly, Richard Keiser, Bart Adams, Philip Dutre, Markus Gross, Leonidas Guibas
12/05/07      Final Project Presentations

Course Number 15-467      15-869     53-880     
Programming Assignments      60% 45% 45%
Final Project 25% 25% 25%
Paper Presentations 0% 15% 15%
Final Exam 15% 15% 15%

All students will have access to the graphics cluster in Wean Hall 5336. You will need to setup your Andrew account in the right way before you can longin. Follow these instructions (replacing 462 with 467).