Stanford University, 2025/26 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 (Gates B3), and virtual (live-streamed and recorded)

The 2025/26 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 4:30PM - 5:50PM (01/05/2026 - 03/13/2026)
Office Hours (Prof)
Wed 3-5pm (Zoom link in Canvas)
TA
Zhehao Li (CS PhD student, zhehaoli@stanford.edu)
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/218411
Requirements
Students are expected to attend lectures, participate in class discussions and presentations, and read the supplemental materials.
Assignments
There will be self-directed 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 (2025/26) - Tentative
  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 ] -- Tentative
  5. Project Proposal [1 week, 10%, or ]
  6. Final Project [3 weeks, 30%, or ]


Student Results (CS348C 2025 Winter)


HW #1: Hello Houdini

HW #2: Procedural Modeling

HW #3: Dynamics

HW #4: Character & Audio FX

Final Project



Student Results (CS348C 2024 Winter)


HW #1: Hello Houdini

HW #2: Procedural Modeling

HW #3: Dynamics

HW #4: Character & Audio FX

Final Project



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
TuJan06 Introduction
Slides: Homework Activities:
  • Download and install SideFX Houdini Apprentice (registration required)
  • Start Houdini readings and tutorials in Homework #1
Due WeJan14 Homework #1: Hello Houdini
Assignment Link

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

Submit by Wednesday, Jan 14.
Show & Tell on Thursday, Jan 15.
ThJan08 Introduction to Houdini
Material:
  • Slides (PDF)
  • Houdini project file (hipnc)
  • Houdini learning curve (now with server ;)
TuJan13
ThJan15
TuJan20
ThJan22
Procedural Modeling
Material:
  • Slides (PDF)
  • Houdini project file (hipnc)
Due WeJan21 Homework #2: Procedural Modeling
Assignment Link

Image Credit: "Planet Alpha," Adrian Lazar
TuJan27 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>
    • Custom Solvers, POP Networks, etc.
References:
  • David Baraff and Andrew Witkin, Physically Based Modeling, Online SIGGRAPH 2001 Course Notes, 2001.
    • Differential Equation Basics
    • Particle System Dynamics (slides)
    • Cloth and Fur Energy Functions (preview of energy function usage)
  • Videos:
Due WeFeb04 Homework #3: Dynamics
Assignment Link

Image Credit: [Baraff and Witkin 1998]
ThJan29
TuFeb03
Houdini Dynamics
Material:
  • Slides (PDF)
  • See video recording for live examples
TuFeb10
ThFeb12
Constrained Dynamics

Slides (PDF)

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
ThFeb12

Rigid-Body Motion

 
Slides/Notes (PDF)

References:
TuFeb17
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; related to Houdini's Vellum implementation)
Other Reading:
TuFeb17 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]
ThFeb19 Show & Tell: HW4 Char/Motion FX

ThFeb19 Final Project Discussion
Slides

Slide Deck on Ed
TuFeb24 Fracture Animation

Selected Material:
ThFeb26 Final Project Proposals

Students pitch their final project ideas.
  • Google Slide deck link on Ed
TuMar03
Guest Lecture: Fernando de Goes (Pixar)


Speaker: Fernando de Goes (Pixar)

Title:

Abstract:

References: See https://fdegoes.github.io
ThMar05
Fluids I (Particles)

Material:
ThMar05 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:

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:
TuMar10
ThMar12
Final Project Presentations

See Ed for instructions (slide deck, Canvas submission)

SUPPLEMENTAL MATERIAL (below here)

Discrete Elastic Rods
Reference:

Yarn-level Cloth

References:

Kelvinlets

Material:




Rigid-body Contact: Impulse- and Constraint-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

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: