"An Introduction to Physics-based Animation"

Physics-based animation has emerged as a core area of computer graphics finding widespread application in the film and video game industries as well as in areas such as virtual surgery, virtual reality, and training simulations. This course introduces students and practitioners to fundamental concepts in physics-based animation, placing an emphasis on breadth of coverage and providing a foundation for pursuing more advanced topics and current research in the area. The course focuses on imparting practical knowledge and intuitive understanding rather than providing detailed derivations of the underlying mathematics. The course is suitable for someone with no background in physics-based animation---the only prerequisites are basic calculus, linear algebra, and introductory physics.

We begin with a simple, and complete, example of a mass-spring system, introducing the principles behind physics-based animation: mathematical modeling and numerical integration. From there, we systematically present the mathematical models commonly used in physics-based animation beginning with Newton's laws of motion and conservation of mass, momentum, and energy. We then describe the underlying physical and mathematical models for animating rigid bodies, soft bodies, and fluids. Then we describe how these continuous models are discretized in space and time, covering Lagrangian and Eulerian formulations, spatial discretizations and interpolation, and explicit and implicit time integration. In the final section, we discuss commonly used constraint formulations and solution methods.



A. W. Bargteil, T. Shinar.
"An Introduction to Physics-based Animation."
ACM SIGGRAPH Courses 2019, Los Angeles, California, July 2019.
Course Notes    Keynote (original file)    Powerpoint    PDF    Source Code


A. W. Bargteil, T. Shinar.
"An Introduction to Physics-based Animation."
ACM SIGGRAPH Courses 2018, Vancouver, Canada, August 2018.
Course Notes    Keynote (original file)    Powerpoint    PDF    Source Code