Research
Wbat is physical simulation? How does it relate to physics, computer science, and your research?
There are three steps to transforming an observed phenomenon into a simulation, and at each step some amount of accuracy is lost in translation. First, scientists devise mathematical models that capture the observed behavior. Next, these smooth equations are discretized: replaced with approximate equations involving only a finite amount of data. Finally, numerical algorithms are developed to solve these discrete equations accurately and efficiently using finite-precision arithmetic.
My research focus is in that middle step: the approximation of smooth physical models by discrete ones. I'm particularly interested in the physics of everyday thin, elastic, deformable objects, like cloth, hair, paper, or leaves: how they deform, how they stretch, and how they collide. It turns out that the behavior of such objects is tied in a deep and fundamental way to their geometry: by understanding their essential geometric properties, we can build new algorithms that are more efficient and and more accurate at predicting how they behave.
There are three steps to transforming an observed phenomenon into a simulation, and at each step some amount of accuracy is lost in translation. First, scientists devise mathematical models that capture the observed behavior. Next, these smooth equations are discretized: replaced with approximate equations involving only a finite amount of data. Finally, numerical algorithms are developed to solve these discrete equations accurately and efficiently using finite-precision arithmetic.
My research focus is in that middle step: the approximation of smooth physical models by discrete ones. I'm particularly interested in the physics of everyday thin, elastic, deformable objects, like cloth, hair, paper, or leaves: how they deform, how they stretch, and how they collide. It turns out that the behavior of such objects is tied in a deep and fundamental way to their geometry: by understanding their essential geometric properties, we can build new algorithms that are more efficient and and more accurate at predicting how they behave.
Why do computer graphics researchers study discrete geometry, and why is it important?
Developing a theory of differential geometry of smooth surfaces was one of the great triumphs of 19th century mathematics. Countless breakthroughs in science, from Einstein's theory of relativity to quantum mechanics to acoustic, rest on this foundation. A key assumption of the theory, though, is that the surface be smooth: what do we do when we're working with a computer, which can only handle discrete, "chunky" data like triangle meshes, or noisy clouds of points acquired using laser scanners or the Microsoft Kinect? One of the most exciting programs of the last few decades in computer graphics is the development of DDG, discrete differential geometry: the key idea is to take smooth differential geometry, and to build a parallel theory for discrete geometry that nevertheless preserves the most important relationships and structures of the smooth theory.
Discrete differential geometry allows us to "port" key ideas and tools from smooth differential geometry to the discrete world. In addition to better understanding how to physically simulate everyday objects, many other applications such as surface reconstruction, editing/fairing/smoothing noisy data, shape matching and registration, etc. are built on ideas from discrete differential geometry.
In addition to pushing DDG further, I'm interested in using it to solve inverse or design problems. In a physical simulation, you have some objects in a starting state, and ask, "how will these objects behave in the future?" In an inverse problem, you do the reverse: you have some desired behavior in mind, and ask "how can I modify the initial state of the objects so that they will do what I want"? How can you take a rough architectural design and modify it into a stable building? Modify growth of tissue so that it grows into any desired shape? 3D-print objects that not only look like, but also work, the way you expect?
Developing a theory of differential geometry of smooth surfaces was one of the great triumphs of 19th century mathematics. Countless breakthroughs in science, from Einstein's theory of relativity to quantum mechanics to acoustic, rest on this foundation. A key assumption of the theory, though, is that the surface be smooth: what do we do when we're working with a computer, which can only handle discrete, "chunky" data like triangle meshes, or noisy clouds of points acquired using laser scanners or the Microsoft Kinect? One of the most exciting programs of the last few decades in computer graphics is the development of DDG, discrete differential geometry: the key idea is to take smooth differential geometry, and to build a parallel theory for discrete geometry that nevertheless preserves the most important relationships and structures of the smooth theory.
Discrete differential geometry allows us to "port" key ideas and tools from smooth differential geometry to the discrete world. In addition to better understanding how to physically simulate everyday objects, many other applications such as surface reconstruction, editing/fairing/smoothing noisy data, shape matching and registration, etc. are built on ideas from discrete differential geometry.
In addition to pushing DDG further, I'm interested in using it to solve inverse or design problems. In a physical simulation, you have some objects in a starting state, and ask, "how will these objects behave in the future?" In an inverse problem, you do the reverse: you have some desired behavior in mind, and ask "how can I modify the initial state of the objects so that they will do what I want"? How can you take a rough architectural design and modify it into a stable building? Modify growth of tissue so that it grows into any desired shape? 3D-print objects that not only look like, but also work, the way you expect?
What background/resources are useful for getting started in physical simulation or geometry processing research?
You will need a solid background in multivariable calculus, as well as theoretical and numerical linear algebra. If you've taken classes in differential geometry, numerical optimization, or PDEs, that material will also prove very useful, though you can learn a lot of it "on the job" if necessary.
Learning differential geometry can be particularly tricky, as the most useful area of geometry for physics and graphics (three-dimensional Riemannian geometry) was worked on extensively in the 1800s, and is no longer a very active area of contemporary mathematical research. You might therefore have trouble finding a formal course on (low-dimensional) differential geometry, though I encourage you to check the math department's course catalog. For independent study, I've heard the Banchoff book on differential geometry is very good. The do Carmo book is a classical reference, and is what most mathematicians would probably point you to as a first step to learning differential geometry. However, it is a bit slow to get to the most important concepts (surfaces, curvature, etc) and requires more time investment to learn. Keenan Crane, a professor at CMU, has good course notes on discrete differential geometry (covers important topics in classical differential geometry as well). Misha Kazhdan at Johns Hopkins has good notes too.
SIGGRAPH's official YouTube channel includes many high-quality research talks and tutorials about computer graphics topics, in general (see their "University" playlist, for instance).
You will need a solid background in multivariable calculus, as well as theoretical and numerical linear algebra. If you've taken classes in differential geometry, numerical optimization, or PDEs, that material will also prove very useful, though you can learn a lot of it "on the job" if necessary.
Learning differential geometry can be particularly tricky, as the most useful area of geometry for physics and graphics (three-dimensional Riemannian geometry) was worked on extensively in the 1800s, and is no longer a very active area of contemporary mathematical research. You might therefore have trouble finding a formal course on (low-dimensional) differential geometry, though I encourage you to check the math department's course catalog. For independent study, I've heard the Banchoff book on differential geometry is very good. The do Carmo book is a classical reference, and is what most mathematicians would probably point you to as a first step to learning differential geometry. However, it is a bit slow to get to the most important concepts (surfaces, curvature, etc) and requires more time investment to learn. Keenan Crane, a professor at CMU, has good course notes on discrete differential geometry (covers important topics in classical differential geometry as well). Misha Kazhdan at Johns Hopkins has good notes too.
SIGGRAPH's official YouTube channel includes many high-quality research talks and tutorials about computer graphics topics, in general (see their "University" playlist, for instance).
Logistics
Can you write a letter of recommendation for me?
Sure, I'm always happy to write letters for my current or former students. Send me an e-mail with instructions of where to send the letter, along with copies of your CV and personal statement. If the letter is for an internship, job, or other non-academic endeavor, you will also need to fill out and sign a FERPA waiver.
If you've taken my class, but we haven't interacted much outside of class (in the form of an undergraduate research project, Turing thesis, ICPC team member, etc.) then my letter is not likely to help your application much. Consider whether there are research mentors or supervisors that you could approach for a letter instead of me.
Sure, I'm always happy to write letters for my current or former students. Send me an e-mail with instructions of where to send the letter, along with copies of your CV and personal statement. If the letter is for an internship, job, or other non-academic endeavor, you will also need to fill out and sign a FERPA waiver.
If you've taken my class, but we haven't interacted much outside of class (in the form of an undergraduate research project, Turing thesis, ICPC team member, etc.) then my letter is not likely to help your application much. Consider whether there are research mentors or supervisors that you could approach for a letter instead of me.
Will you offer [class X] next [semester Y]?
I teach the Computer Graphics: Honors upper-division elective, and the Physical Simulation graduate course, every spring semester. I plan to continue doing so in the future. I don't teach either class in fall semesters (but other sections of Computer Graphics might be offered by other professors).
I teach the Computer Graphics: Honors upper-division elective, and the Physical Simulation graduate course, every spring semester. I plan to continue doing so in the future. I don't teach either class in fall semesters (but other sections of Computer Graphics might be offered by other professors).
Physical Simulation and AI
Are there ways that the recent advances in machine learning can be applied to benefit physical simulation?
I think two particularly exciting ongoing research directions for combining ML with physics are:
1) Using data to learn a good representation of shape and deformation, for use in physical simulation. Right now, most objects in a simulation are represented using mesh or grid data structures (or hybrid combinations of the two); but these data structures were chosen more because they are easy for humans to reason about and work with, than because they are truly optimal in terms of efficiently and accurately modeling object motion and deformation. Data-driven methods that try to learn neural deformation subspaces have a lot of promise.
2) Although the laws of physics are often well-understood, simulations have a lot of parameters that need to be estimated or measured, and cannot be derived from physical principles (such as the material properties of real-world objects). Learning these from easily-acquired data (e.g. videos of the objects you're trying to simulate) is a natural and powerful idea.
There is also important work to be done on incorporating physics priors into machine learning algorithms in an efficient and effective way.
I think two particularly exciting ongoing research directions for combining ML with physics are:
1) Using data to learn a good representation of shape and deformation, for use in physical simulation. Right now, most objects in a simulation are represented using mesh or grid data structures (or hybrid combinations of the two); but these data structures were chosen more because they are easy for humans to reason about and work with, than because they are truly optimal in terms of efficiently and accurately modeling object motion and deformation. Data-driven methods that try to learn neural deformation subspaces have a lot of promise.
2) Although the laws of physics are often well-understood, simulations have a lot of parameters that need to be estimated or measured, and cannot be derived from physical principles (such as the material properties of real-world objects). Learning these from easily-acquired data (e.g. videos of the objects you're trying to simulate) is a natural and powerful idea.
There is also important work to be done on incorporating physics priors into machine learning algorithms in an efficient and effective way.
Can end-to-end machine learning be used to completely replace physical simulation?
There has been some recent research in this direction, but in my opinion, it's not a fruitful idea. Solving the numerical differential equations that govern physical systems is the kind of raw number-crunching that computers are already designed to do really well. Replacing a simulation with a neural network is analogous to replacing a calculator app with a neural network: some people are trying it just to see if it can be done, but since the end product is slower and less accurate than the classic approach, there's not much reason that it should be done.
There has been some recent research in this direction, but in my opinion, it's not a fruitful idea. Solving the numerical differential equations that govern physical systems is the kind of raw number-crunching that computers are already designed to do really well. Replacing a simulation with a neural network is analogous to replacing a calculator app with a neural network: some people are trying it just to see if it can be done, but since the end product is slower and less accurate than the classic approach, there's not much reason that it should be done.
Will machine learning eventually replace the need for doing any physical simulation research at all?
Yes. But only in the sense that a sufficiently powerful general AI will eventually replace the need for doing all theoretical scientific research.
Yes. But only in the sense that a sufficiently powerful general AI will eventually replace the need for doing all theoretical scientific research.
I am a prospective graduate student interested in doing research in machine learning. Will you supervise me?
No, probably not. Several of my papers use machine learning as a tool, and I am interested in the potential benefits machine learning can bring to solving simulation and geometry problems, but I do not do any foundational research in ML and am not competent to advise students on core ML topics. Unless your interest in ML specifically centers on applications to physical simulation or 3D geometry processing, I recommend reaching out to the several excellent UT Computer Science professors who work on machine learning, including Qixing Huang, Philipp Krähenbühl, Qiang Liu, and Adam Klivans.
No, probably not. Several of my papers use machine learning as a tool, and I am interested in the potential benefits machine learning can bring to solving simulation and geometry problems, but I do not do any foundational research in ML and am not competent to advise students on core ML topics. Unless your interest in ML specifically centers on applications to physical simulation or 3D geometry processing, I recommend reaching out to the several excellent UT Computer Science professors who work on machine learning, including Qixing Huang, Philipp Krähenbühl, Qiang Liu, and Adam Klivans.