Awesome Physics-Based Simulation / Animation
A curated list of courses, researchers, literature, code, and other resources for physics-based simulation and animation. Continuously updated, contributions are welcome!
GitHub: github.com/Housz/awesome-simulation
1 Courses
Computer Graphics Fundamentals:
Physics Simulation:
- [Huamin Wang] GAMES103: Introduction to Physics-Based Computer Animation (in Chinese) Covers math background, rigid bodies, mass-spring systems, constraints, collisions, soft bodies, FEM, and fluids. Very beginner-friendly. The four assignments (rigid body, cloth, soft body, fluid) use the Unity engine.
- [Yuanming Hu] GAMES201: Advanced Physics Engines 2020 (in Chinese) High depth and breadth; challenging without a numerical computation background. Covers Lagrangian, Eulerian, hybrid Eulerian-Lagrangian views, and high-performance physics engines.
- [Tiantian Liu] Taichi Graphics Course (in Chinese) A CG course using the Taichi programming language. Covers Taichi data structures, ray tracing, elastomers (FEM, time integration), and fluids.
- [Xiaowei He] GAMES401: PeriDyno Physics Simulation Programming and Practice (Updating) (in Chinese) Based on the PeriDyno engine. Covers GPU programming (CUDA), rigid body dynamics, SPH, peridynamics, and Vulkan basics.
- [Minchen Li] Physics-based Animation of Solids and Fluids CMU physics simulation seminar. Covers optimization-based time integration, mass-spring systems, FEM, IPC, cloth, rigid bodies, reduced-order simulation, and fluids (Lagrangian, PIC/FLIP, MPM).
- [Teacher Xiaopeng] High-Performance Parallel Programming and Optimization Series (in Chinese) Covers CMake, modern C++, compiler optimization, TBB, memory access optimization, CUDA, and modern OpenGL.
- [Xi Wang] GAMES104: Modern Game Engines (in Chinese) Lectures 10/11 cover physics systems in game engines; Lectures 8/9 cover animation techniques.
- [Ladislav Kavan] CIS563 Physics based Animation (2014) Very detailed mathematical derivations. Covers mass-spring, PBD, Shape Matching, PDE basics, FEM, Projective Dynamics, rigid bodies, etc. CIS563 (2015) adds fluids. Supplementary content by Tiantian Liu (in Chinese). CS6660 (2017) adds Lagrangian/Hamiltonian mechanics perspectives.
- [Eitan Grinspun] Animation and CGI Motion Highly beginner-friendly, detailed derivations. Covers ODE numerical integration, Lagrangian mechanics, collisions/contact, continuum mechanics, FEM, shells/cloth, fluids, etc.
- [Matthias Müller] Ten Minute Physics Features JavaScript implementations for easy hands-on practice. Covers PBD/XPBD, soft bodies, spatial hashing, cloth, GPU programming basics, Eulerian/hybrid fluids, etc.
- [Adam Bargteil] SIGGRAPH’19 Course: An Introduction to Physics-Based Animation Introduces basic concepts of physics simulation with accompanying notes.
-
- [Doug L. James] CS 5643: Physically Based Animation for Computer Graphics (2015) A comprehensive course that lists classic papers for each topic. Other courses: CS 448Z (2021), CS 248 (2022), CS 348C (2022).
- [Jernej Barbič] CSCI 520 Computer Animation and Simulation
- [Jan Bender] Physics Simulation in Visual Computing
Math & Numerical Foundations:
- Matrix Computation: GAMES103 Math Basics (in Chinese), 3Blue1Brown - Essence of Linear Algebra, Matrix Calculus Tutorial (in Chinese), Numerical Recipes, Wiki: Matrix calculus.
- Basic Numerical Analysis: Numerical Analysis 2020 Spring by Yanan Zhang, Soochow University (in Chinese).
- Advanced Numerical Analysis: Numerical Analysis USTC by Chi-Wang Shu, Brown University. An excellent numerical analysis course (in Chinese).
- Basic Optimization: Optimization Theory and Methods by Xueting Cui, SUFE (in Chinese). Reference texts include Stephen Boyd’s Convex Optimization and Jorge Nocedal’s Numerical Optimization.
- Advanced Optimization: Boyd’s Stanford Course (Bilibili Mirror) Taught by Stephen Boyd.
- Scientific Computing: EAS205 Applications of Scientific Computation (2014) by Ladislav Kavan. Covers vector/matrix math, linear systems, group theory, SVD, etc.
- Books: Numerical Recipes, Matrix Computations, Scientific Computing: An Introductory Survey, Iterative methods for sparse linear systems, A multigrid tutorial.
2 Researchers & Teams
Researchers:
-
- Ligang Liu (USTC)
-
-
-
-
-
-
- Bo Ren (Nankai University)
- Jin Huang (Zhejiang University)
- Min Tang (Zhejiang University)
- Ming Gao (miHoYo)
- Bo Zhu (GaTech)
- Xiaowei He (CAS)
- Libin Liu (Peking University), Creator of GAMES105: Computer Character Animation (in Chinese)
- Xiaopei Liu (ShanghaiTech University)
- Yifei Li (MIT)
- David Baraff & Andrew Witkin (CMU, Pixar) — Pioneers of the field.
- Demetri Terzopoulos (UCLA)
- Eitan Grinspun (University of Toronto) Geometry, physics, etc.
- Ladislav Kavan (University of Utah, Facebook) Soft bodies, numerical methods.
- Robert Bridson (UBC, Autodesk) Fluids. Author of Fluid Simulation for Computer Graphics.
- Joseph Teran (UC Davis)
- Markus Gross (ETH Zurich)
- Jos Stam (Nvidia) Inventor of Semi-Lagrangian advection in CG. Author of The Art of Fluid Animation.
- Jan Bender (RWTH Aachen University) SPH, soft bodies.
- Matthias Müller & Miles Macklin (NVIDIA) Creators of PBD/XPBD.
- Dinesh K. Pai (UBC)
- Paul G. Kry (McGill) & Sheldon Andrews (ÉTS) Rigid bodies, contact & friction.
- Jernej Barbic (USC)
- David I.W. Levin (University of Toronto)
- Doug L. James (Stanford)
- Theodore Kim (Yale)
- Matthias Teschner (University of Freiburg)
- Eftychios Sifakis (UW-Madison)
- Kenny Erleben (University of Copenhagen) Author of Physics-Based Animation.
- Jeff Trinkle (Lehigh University) Rigid bodies, robotics.
- Doyub Kim Author of Fluid Engine Development.
- Roy Featherstone (Italian Institute of Technology) Rigid bodies, robotics.
- C. Karen Liu (Stanford) Robotics, RL.
- Xue Bin (Jason) Peng (Simon Fraser University) Robotics, RL.
- Shinjiro Sueda (Texas A&M) Robotics, elastomers.
- Physics Simulation Genealogy Tree compiled by Yu Peng (in Chinese).
(To be continued…)
Research Teams
3 Resource Collections
(To be continued…)
4 Introductory Literature
Recommended Papers from GAMES103 (by Huamin Wang):
(To be continued…)
5 Topics & Methods
Rigid Body
Position Based Dynamics - A Survey on Position-Based Simulation Methods in Computer Graphics
MPM
FEM
Energy Optimization Perspective (Fast Mass-Spring, Projective Dynamics, Quasi-Newton, ADMM)
SPH
USTC Summer School - Physics Simulation Lectures (all in Chinese)
(To be continued…)
Open Source Engines & Libraries:
Commercial Software:
Solvers:
(To be continued…)
7 Conferences & Journals
Conferences
| Abbreviation | Full Name |
| :— | :— |
| SIGGRAPH / SIGGRAPH ASIA | ACM Special Interest Group on Computer Graphics |
| Eurographics | Annual Conference of the European Association for Computer Graphics |
| PG | Pacific Conference on Computer Graphics and Applications |
| SCA | ACM SIGGRAPH/Eurographics Symposium on Computer Animation |
| I3D | ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games |
| MIG | The ACM SIGGRAPH Conference on Motion, Interaction and Games |
| IEEE VR | IEEE Conference on Virtual Reality and 3D User Interfaces |
Journals