Stanford University, 2021 Winter
CS 348C: Computer Graphics: Animation and Simulation

Instructor:
Prof. Doug James





Description: Core mathematics and methods for computer animation and motion simulation. Traditional animation techniques. Physics-based simulation methods for modeling shape and motion: particle systems, constraints, rigid bodies, deformable models, collisions and contact, fluids, and fracture. Animating natural phenomena. Methods for animating virtual characters and crowds. Additional topics selected from data-driven animation methods, realism and perception, animation systems, motion control, real-time and interactive methods, and multi-sensory feedback.


Location
    
Online (Zoom)   
Time

TuTh 2:30PM - 3:50PM    (01/12/2021 - 03/19/2021) 
Office Hours (Prof)

Wed 4:00-5:30 PM (Zoom), or by appointment
TA

Kimberly Te (CS Masters student, kimte@stanford.edu)
Office hours (Zoom):
  • Fri 9:30am
Prerequisites

Recommended: CS148 and/or CS205A. Prerequisite: linear algebra (or permission of instructor)
Textbook

None; lecture notes and research papers assigned as readings will be posted here.
Communication

Piazza: https://piazza.com/stanford/winter2021/cs348c
Calendar

Google Calendar Link
Canvas

https://canvas.stanford.edu/courses/111557
Requirements

Students are expected to attend lectures, participate in class discussions and working sessions, and read the supplemental materials.
Assignments

There will be programming assignments, and a final project based on a student-selected topic.
Late Policy

We allow 3 late days, with 10%/day deduction thereafter.
Exams

None
ExploreCourses

Link


ASSIGNMENTS (2021 Animating @ Home Edition)
  1. Hello Houdini [1 week, 10%, ]
  2. Procedural Modeling [1 week, 10%, ]
  3. Dynamics [2 weeks, 20%, or ]
  4. Character FX [1 week, 10%, or ]
  5. Project Proposal [1 week, 10%, or ]
  6. Final Project (student choice) [3 weeks, 30%, or ]


SCHEDULE:  (TENTATIVE)

DATE
TOPIC
SUPPLEMENTAL MATERIALS
TuJan12
Introduction
Slides:

Homework Activities:

Due WeJan20
Homework #1: Hello Houdini


Assignment Link


Video Highlights
ThJan14
Introduction to Houdini

Material:
  • Slides (PDF)
  • Houdini project file (hipnc)

TuJan19
--
TuJan26
Procedural Modeling

Material:
  • Slides (PDF)
  • Houdini project file (hipnc)
Due WeJan27
Homework #2: Procedural Modeling


 
Assignment Link

Image Credit: "Planet Alpha," Adrian Lazar

ThJan28
TuFeb02
Particle Systems

Material:
  • Particle system dynamics (read Witkin course notes, slides)
    • Implement "particles in a box" using a Houdini SOP Solver.
  • Energy-based modeling of forces
  • Numerical integration
  • See notes on Piazza Resources

References:

Due WeFeb10 Homework #3: Dynamics


Assignment Link

ThFeb04
Houdini Dynamics

Material:
  • Slides (PDF)
  • See Zoom video for demos
TuFeb09
ThFeb11
Constrained Dynamics

Notes on Piazza Resources

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)
  • Post-step projection schemes
    • Position- vs velocity-based corrections
  • Applications: Mechanical linkages, inextensibility constraints, incompressible flow, contact constraints
References:
[Advanced] References for Differential-Algebraic Equations (DAEs):
Due WeFeb17 Homework #4: Character FX


Assignment Link

Submit your video artifact for weeklies
TuFeb16
Position-Based Dynamics

Slides (PDF)

References:

  • Jan. Bender, Matthias. Müller, Miles. Macklin, Position-Based Simulation Methods in Computer Graphics, EUROGRAPHICS Tutorial Notes, 2015, Zürich, May 4-8. (Course Notes)(Slides)
  • M. Müller, B. Heidelberger, M. Hennix, J. Ratcliff, Position Based Dynamics, Proceedings of Virtual Reality Interactions and Physical Simulations (VRIPhys), pp 71-80, Madrid, November 6-7 2006, Best Paper Award, PDF, (video), (slides)
    • Miles Macklin, Matthias Müller, Nuttapong Chentanez: XPBD: Position-Based Simulation of Compliant Constrained Dynamics in Proceedings of ACM Motion in Games, San Francisco, October 2016
      [PDF][Slides][Video][Youtube] (An improved PBD approach)
Other Reading:
ThFeb18
Final Project Discussion

Slides (PDF)
TuFeb23
Rigid-Body Motion
Slides/Notes (PDF)

References:

ThFeb25
Final Project Proposal Presentations



Application of Rigid-Body Motion:
Shape Matching Methods



Discussed:
  • General ideas: 
    • Projecting particle motion to be rigid motion
    • Deformation gradient & Polar decomposition
  • Rigid-body shape matching
  • Fast Lattice Shape Matching (FastLSM)
  • Other methods (adaptive FastLSM; Oriented particles)
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]
  • Matthias Müller and Nuttapong Chentanez. Solid simulation with oriented particles. ACM Trans. Graph. 30, 4, Article 92 (July 2011), 10 pages, 2011. [ACM] [PDF] [MOVIE]


Rigid-body Contact:
Impulse- and Contraint-based Methods:




Material: 

Particle-based Fluids


Material:

Fluid Animation

Topics:
  • Navier-Stokes equations; Euler equations for inviscid fluids
  • Advection; semi-Lagrangian methods
  • Splitting schemes
  • Incompressibility constraint & divergence-free flow
  • Helmholtz-Hodge decompositions; pressure projection
  • PIC/FLIP methods [Zhu & Bridson 2005]
  • APIC method [Jiang et al. 2015]
Material:

Kelvinlets

Material:




Animation Sound



Material:




Student Results (CS348C 2020 Winter)


HW1: Hello Houdini

HW2: Procedural Modeling

HW3: Collision Processing

HW4: Character FX

HW5: Particle-based Fluids







Student Results (CS348C 2019 Winter)


HW1: Hello Houdini

HW2: Procedural Modeling


HW3: Collision Processing (Spaghetti Factory)


HW4: Character Animation FX


HW5: Fluids


Final Projects




Related prior course offerings:
Older material:
DATE TOPIC SUPPLEMENTAL MATERIALS

Assignment #1:
Position-Based Fluids



Implicit Integration
& Cloth Simulation

Material:

Lightning, Ice Growth, and Diffusion Limited Aggregation (DLA)


Material:
 
Material Point Method (MPM), and Snow Simulation

Discussed:
  • Material Point Method (MPM) overview
  • Application to snow simulation
  • Deformation gradient
  • Elastic strain energy, forces, and gradients
  • Multiplicative plasticity methodology; application to snow
  • Grid force and gradient calculations
  • Semi-implicit integration of velocities
  • Deformation gradient update
  • Grid and particle collision handling
  • Slides [PDF] (courtesy Craig Schroeder & Joseph Teran) in Piazza Resources
  • Practical tips for making a minimum viable snow simulator

Material:




Prog. Assignment #2:
Position-Based Dynamics



Fracture Animation


Material:


Guest Speaker

Guest Speaker:

Material:

Power Particles: An incompressible fluid solver based on power diagrams
de Goes, Wallez, Huang, Pavlov, Desbrun
SIGGRAPH / ACM Transactions on Graphics (2015)
preprint video I video II dl.acm


Assignment #2: Constrained Dynamics
  • Starter Code: Use your code from Assignment #1.
  • Relevant 2016 written assignment on inextensibility constraints (handout, solution)




Noise & Turbulence Modeling
from [Kim et
                      al. 2008]
Materials: