My lab, the Computational Motion Group
, studies Physics-Based Animation
, which integrates
and computational physics
to address applications in visual computing, especially visual effects, animated films, and game development.
We often focus on the simulation of liquids and gases, but have
broad interests in physical simulation as a
tool for generating, controlling, and
predicting motion of all kinds. We strive to design
algorithms that are supported by sound physical,
mathematical, and geometric principles, while being
amenable to efficient and robust practical
Topics we have explored include...
- interactions between fluids and diverse dynamic objects (e.g., hair, cloth, elastic bodies, rigid bodies)
- viscous flows, non-Newtonian liquids, and granular flows which exhibit exotic behaviours like buckling, coiling, bouncing, and friction effects.
- surface tension-driven phenomena, including small-scale liquid droplets, bubbles, films, and
- dynamic surface representations for evolving multimaterial flows and geometries (e.g., level set methods, triangle meshes, particles)
- solving PDEs using Monte Carlo techniques or via spatial adaptive finite volume methods (e.g., tetrahedral meshes, octrees).
- embedded methods for boundary conditions (cut-cell techniques, the closest point method) that enable solving PDEs in complex domains or on complex shapes
The animation and visual effects industries inspire
much of our work. My students and I have worked with
and Weta Digital
, among other companies. Ideas we originally developed have made their way into
major fluid animation software packages such as SideFX's
Houdini (FLIP Fluid solver)
, Blender (FlipFluids Addon)
, and Autodesk
Maya (Bifröst Fluids)
, and thus have contributed to dozens
of movies from major studios.
I maintain the Physics-Based
blog, which catalogues papers, people, and
software in this area, and a list of computer graphics academics and researchers on Mastodon
I have also collected a few links to pieces of advice for students
Code and Data:
Below you'll find miscellaneous sample code and data from some
of my projects; in other cases you can find the code for a
given publication on its associated project page (linked
above). Buyer beware, of course, but I'd love to hear from you
if you do put any of it to use!