Stanford University, 2023 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 (Zoom + Gates B3)

The Winter 2023 version of CS348C will be hybrid format using a mix of virtual and in-person activities. Please see Canvas for details. First lecture is online.

There are no exams.

Lectures will be recorded for offline viewing on Canvas. We will have frequent discussions, show-&-tell presentations, and student breakouts during lecture. Therefore, while attendance at live lecture will not be checked, we ask you to make an effort to attend live lecture as much as possible--especially for homework show-&-tell presentations.


Time

TuTh 3:00PM - 4:20PM    (01/10/2022 - 03/16/2022) 
Office Hours (Prof)

  • Wed 3-5pm
TAs

Kangrui Xue (CS PhD student, kangruix@stanford.edu)
Office hours: Mon & Thurs @ 5:00-6:30pm

Cole Sohn (CS Co-term student,
csohn@stanford.edu)
Office hours: Wed 11:30am-1:00pm & Fri 3:30-5pm
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

Ed: https://edstem.org/us/courses/32913 
Canvas

https://canvas.stanford.edu/courses/166508
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)
  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
TuJan10
Introduction
Slides:

Homework Activities:

Due WeJan18
Homework #1: Hello Houdini


Assignment Link


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

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

TuJan17
ThJan19
TuJan24
ThJan26
Procedural Modeling

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

Homework #2: Procedural Modeling


 
Assignment Link

Image Credit: "Planet Alpha," Adrian Lazar

TuFeb01
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 (PDF)

ThFeb03
Houdini Dynamics

Material:
TuFeb07
-
TuFeb14
Constrained Dynamics

Notes on Ed

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 (Canvas)

Submit your video artifact for weeklies
TuFeb14
ThFeb16
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:
TuFeb14
Final Project Discussion

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

References:

ThFeb16
Discrete Elastic Rods

Reference:
TuFeb21
Virtual
Yarn-level Cloth
References:
ThFeb23
In-person + virtual
Show & Tell: HW4 Char/Motion FX


TuFeb28
In-person + virtual
Kelvinlets

Material:
ThMar02
In-person + virtual
Final Project Proposals


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

Fluids I (Particles)


Material:
TuMar07
In-person + virtual
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:
ThMar09
In-person + virtual
Guest Lecture: Jiayi Eris Zhang

Topics:
  • Deformable collision processing (collision detection, Incremental potential contact, etc.)
  • Progressive cloth simulation
TuMar14
In-person + virtual

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:

ThMar16
In-person + virtual
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: