CS 5643: Physically Based Animation for Computer Graphics
Spring 2009


PROFESSOR:  Doug James

TA: Changxi Zheng

HELP SESSIONS AND OFFICE HOURS: 
TBA (+after class, and by appointment)

DESCRIPTION:  Modern computer animation and interactive digital entertainment are making increasingly sophisticated use of tools from scientific and engineering computing. This course introduces students to common physically based modeling techniques for animation of virtual characters, fluids and gases, rigid and deformable solids, and other systems. Aspects of interactive simulation and multi-sensory feedback will also be discussed.  A hands-on programming approach will be taken, with an emphasis on small interactive computer programs.

TIME:  MW 2:55-4:10pm

LOCATION:  Phillips Hall (PHL) 219

GRADE OPTION: letter or S/U

NUMBER OF CREDITS:  4

PREREQUISITES:  Permission of the instructor, or COM 322 (Intro to Scientific Computing), or COM S 465 (Computer Graphics I). Students from CIS 300 (Intro to Computer Game Design) are strongly encouraged. Java applet programming in assignments.

EXAMS:  None (Grade based on assignments and project)

ACADEMIC POLICIES

APPROACH:

PROGRAMMING ASSIGNMENTS:

  1. Mass-Spring Particle Systems (20%)
  2. Robust Collision Processing (a.k.a. "The Spaghetti Factory") (20%)
  3. Rigid Body Dynamics and Contact (20%)
  4. Fluid Control (20%)
  5. Final Project of Your Choosing (20%)
PREVIOUS COURSE OFFERING:
   
SCHEDULE
DATE
TOPICS
SUPPLEMENTAL MATERIALS
Jan21
Introduction

Readings:
  • An interesting historical perspective:
    • Terzopoulos, D., Pltt, J., Barr, A., Zeltzer, D., Witkin, A., and Blinn, J. 1989. Physically based modeling: past, present, and future. In ACM SIGGRAPH 89 Panel Proceedings (Boston, Massachusetts, United States, July 31 - August 04, 1989). SIGGRAPH '89. ACM Press, New York, NY, 191-209. 
Jan26
Review: Tensor Calculus


Discussed differentiating the following quantities with respect to particle position vectors, p_i:
  • constant, c
  • position, p_j
  • vectors, (p_j-p_k)
  • distances, ||p_j-p_k||
  • distance powers, ||p_j-p_k||^n
  • dot products, (p_1-p_0)^T (p_3-p_2)
  • cross products
  • Example: hair bending energy derivative, E = k*sin^2(theta/2)  [handout]
Jan28
Particle Systems

Material:
Due Sun Feb 15
Assignment #1
Mass-Spring Particle Systems

Link to assignment webpage
Feb02
Symbolic Code Generation and  Differentiation

Material:
  • Slides (PDF)
  • Foreshadowing:
    • deformation mapping
    • deformation gradient
    • Polar decomposition
    • Newton-Schulz iteration
Feb04
Implicit Integration;
IMEX and other schemes

Material:
Feb09
Solving Sparse Linear Systems


Material:
Feb11
Feb16
Feb18
Robust Collision Processing

Material:
  • Velocity-level collision resolution
  • Continuous collision detection
    • 2D (point-edge, sphere-sphere), and 3D (point-face, edge-edge) tests
  • Impulse resolution
  • Supporting pin/trajectory constraints
    • Inverse-mass matrix filtering
  • Penalty forces
  • Rigid cloth zones
References:
  • Robert Bridson, Ronald P. Fedkiw, John Anderson, Robust Treatment of Collisions, Contact, and Friction for Cloth Animation, ACM Transactions on Graphics, 21(3), July 2002, pp. 594-603.
  • David Baraff, Andrew P. Witkin, Large Steps in Cloth Simulation, Proceedings of SIGGRAPH 98, Computer Graphics Proceedings, Annual Conference Series, July 1998, pp. 43-54.
  • X. Provot, Collision and self-collision handling in cloth model dedicated to design garment. Graphics Interface, 177–89, 1997. (first introduction of rigid cloth zones)
  • Robust Treatment of Simultaneous Collisions, David Harmon, Etienne Vouga, Rasmus Tamstorf, Eitan Grinspun, ACM Transactions on Graphics, 27(3), August 2008, pp. 23:1-23:4. (equality-constraint alternative to rigid cloth zones)
Due Sun
Mar 8

Assignment #2
Robust Collision Processing
(a.k.a. "The Spaghetti Factory")

Material:
    • See Spaghetti Factory contest results
    • Starter code available from CMS

Feb23
Rigid Body Simulation

Material:
  • Rigid body concepts (position, orientation, linear/angular velocity, momentum, inertia, etc.)
  • Contact impulses
  • Example: rigid zones for cloth
  • Frictionless contacts:
    • Nonpenetration constraints
    • Velocity-level constraints (see Baraff course notes for accleration-level constraints)
    • Linear Complementarity Problem (LCP)
References:
Feb25
Mar02
Constrained Dynamics

Material:
  • Holonomic constraints, C(p)=0.
  • Example: Bead on a wire
  • Differentiating constraints w.r.t. time.
  • Constraint Jacobian, J
  • Lagrange multipliers, lambda, and constraint forces, J^T lambda
  • Solving for Lagrange multipliers
  • Implicit constraint (and half-explicit) DAE integration schemes
References:
Mar02
Mar04
The Conjugate Gradient Method

Material:
  • Jonathan Richard Shewchuk, An Introduction to the Conjugate Gradient Method Without the Agonizing Pain, August 1994.  PDF (516k, 58 pages)
Mar09
Rigid Body Contact;
Projected Gauss-Seidel Solver

Material:
Mar11
Assignment #3
Rigid Body Contact
(a.k.a. "The Jelly Bean Factory")

Material:
    • See "Jelly Bean Factory" contest results
    • Starter code available from CMS (soon)
Mar16
Mar18
March Break

Mar23
Corotational Finite Elements

Material:
Mar25
Shape Matching Methods

Material:
  • Matthias Müller, Bruno Heidelberger, Matthias Teschner, Markus Gross, Meshless deformations based on shape matching, ACM Transactions on Graphics, 24(3), August 2005, pp. 471-478. [ACM] [PDF] [AVI]
  • Alec R. Rivers, Doug L. James, FastLSM: Fast Lattice Shape Matching for Robust Real-Time Deformation, ACM Transactions on Graphics, 26(3), July 2007, pp. 82:1-82:6. [ACM] [PDF]
  • Denis Steinemann, Miguel A. Otaduy, Markus Gross, Fast Adaptive Shape Matching Deformations, ACM SIGGRAPH/Eurographics Symposium on Computer Animation, Dublin, July 7-9, 2008. [PDF] [AVI]
Mar30
Apr06
Passive Rigid Motion Control

Material:
Apr1 Assignment Q&A Session
Material:




Final Project Webpage


Apr08
Apr13
Fluid Animation

Materials:
Apr15
Smoke Control

Materials:
Apr20
Fluid-Solid Coupling

Materials:
Apr22
Apr27
"Staggered Projections"

Material:
  • A good reference on convex optimization:
    • Stephen Boyd and Lieven Vandenberghe, Convex Optimization, Cambridge University Press, 2004.
      • Stanford lecture notes/book [PDF]
Apr29
Project Presentations