Stanford University, 2023/24 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
    
Hybrid Format: In-person (Thornton 102), and virtual (live-streamed and recorded)

The 2023/24 Winter version of CS348C will be hybrid format using a mix of in-person and virtual activities. Please see Canvas for details. Lectures will be in-person and live-streamed, and recorded for offline viewing on Canvas/Panopto. Hybrid in-person/virtual participation is required for Show-&-Tell presentations.

Time

TuTh 3:00PM - 4:20PM    (01/08/2024 - 03/15/2024) 
Office Hours (Prof)

Wed 3-5pm (Zoom link in Canvas)
TAs

Kangrui Xue (CS PhD student, kangruix@stanford.edu)
Office hours: TBD

Sreya Halder (CS Masters student, halders
@stanford.edu)
Office hours: TBD
Prerequisites

Recommended: CS148 or CS248B. Prerequisite: linear algebra (or permission of instructor)
Textbook

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

Ed (link on Canvas sidebar)
Canvas

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

Students are expected to attend lectures, participate in class discussions and presentations, 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 (2023/24)
  1. Hello Houdini [1 week, 10%, ]
  2. Procedural Modeling [1 week, 10%, ]
  3. Dynamics [2 weeks, 20%, or ]
  4. Character & Audio FX [2 weeks, 20%, or ]
  5. Project Proposal [1 week, 10%, or ]
  6. Final Project [3 weeks, 30%, or ]


Student Results (CS348C 2023 Winter)


HW #1: Hello Houdini

HW #2: Procedural Modeling

HW #3: Dynamics

HW #4: Character & Audio FX

Final Project




Student Results (CS348C 2022 Winter)


HW #1: Hello Houdini

HW #2: Procedural Modeling

HW #3: Dynamics

HW #4: Character FX

Final Project





SCHEDULE: (TENTATIVE -- WILL CHANGE)

DATE
TOPIC
SUPPLEMENTAL MATERIALS
TuJan09
Introduction
Slides:

Homework Activities:

  • Download and install SideFX Houdini Apprentice (registration required)
  • Start Houdini readings and tutorials in Homework #1
Due WeJan17

Homework #1: Hello Houdini


Assignment Link


Goal: Install Houdini Apprentice, create something simple, and submit a video or still.

Show & Tell on Thursday, Jan 18.
ThJan11
Introduction to Houdini

Material:
  • Slides (PDF)
  • Houdini project file (hipnc)
  • Houdini learning curve (now with server ;)

TuJan16
ThJan18
TuJan23
ThJan25
Procedural Modeling

Material:
Due
WeJan24

Homework #2: Procedural Modeling


 
Assignment Link

Image Credit: "Planet Alpha," Adrian Lazar

TuJan30
Particle Systems

Material:
  • Slides (PDF)
  • Particle system dynamics (read Witkin course notes, slides)
  • Numerical integration
  • Particle collisions
  • Energy-based modeling of forces
  • Houdini example: particles.hipnc
    • Particles bouncing on a plane
    • Particles inside a convex domain
    • Particles inside an SDF domain
    • Particles attached to an SDF surface using damped springs <oh, my>

References:


Homework #3: Dynamics


Assignment Link

Image Credit: [Baraff and Witkin 1998] 
ThFeb02
TuFeb06
Houdini Dynamics

Material:
  • Slides (PDF)
  • See video recording for live examples
ThFeb08
-
TuFeb13
Constrained Dynamics

Notes on the whiteboard (what a concept)

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
  • Houdini Example: Surface constraints
References:
[Advanced] References for Differential-Algebraic Equations (DAEs):

Homework #4: Character & Audio FX


Assignment Link

Submit your video artifact for weeklies
ThFeb15
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:
Reference
Rigid-Body Motion
Slides/Notes (PDF)

References:

TuFeb20
Discrete Elastic Rods

Reference:
TuFeb20

Yarn-level Cloth
References:
ThFeb22

Show & Tell: HW4 Char/Motion FX


ThFeb22
Final Project Discussion
Slides
TuFeb27
Kelvinlets

Material:
ThFeb29
Final Project Proposals


Students pitch their final project ideas.
  • Google Slide deck link on Ed

Fluids I (Particles)


Material:
TuMar05
ThMar07
Fluids II (Grids)

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]

Slides

Material:
ThMar07
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 (courtesy Craig Schroeder & Joseph Teran)
  • Practical tips for making a minimum viable snow simulator

Material:


TuMar12

Stanford Student Guest Lectures:
Jiayi Eris Zhang & Kangrui Xue





Topics:
ThMar14
Final Project Presentations

See Ed for instructions (slide deck, Canvas submission)

SUPPLEMENTAL MATERIAL (below here)

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: 

Animation Sound



Material:


Student Results (CS348C 2021 Winter)


HW #1: Hello Houdini

HW #2: Procedural Modeling

HW #3: Dynamics

HW #4: Character FX

Final Project




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:
 





Prog. Assignment #2:
Position-Based Dynamics



Fracture Animation


Material:




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: