Berkeley professor uses new techniques to simulate how objects behave under stress.

Splashing water, rising smoke, shattering glass, tearing metal, burning flames... these are a few examples of the phenomena addressed by my work. My research focuses on developing numerical simulation techniques for modeling the appearance of physical phenomena in synthetic environments.

These techniques enable simulations for training surgeons, soldiers, and firefighters for courtroom re-enactments and visualizations of predicted disaster scenarios. These same techniques also generate special effects for film and television, and they govern the behavior of objects in videogames.





Accuracy vs. appearance

A method's numerical accuracy provides a very poor measurement of its visual accuracy; numerically small errors can produce extremely objectionable visual artifacts, while other numerically large errors may have little or no impact on perceived realism. As a result, the simulation methods useful for graphics applications often differ substantially from related methods developed in other fields because they must satisfy different application criteria.

My recent work on modeling explosions illustrates this distinction. A suspended-particle explosion (or "dust explosion") occurs when a flammable particulate, such as gunpowder or coal dust, is dispersed in air and then ignited. The behavior of the resulting explosion is determined by the non-linear, numerically stiff equations that govern compressible fluids. These equations give rise to the explosion's blast wave, and they shape the clouds of flame generated by the burning particles.

However, solving these equations for explosive conditions is both algorithmically difficult and computationally expensive. My students and I developed a method that models the large-scale motion of the flame and smoke without explicitly modeling the transient behavior of the numerically troublesome blast wave.

Our method captures the visually important aspects of an explosion while ignoring visually irrelevant aspects that would have been expensive to compute. In specific terms, we generate the behavior of an explosion by directly manipulating an incompressible fluid field to generate appropriate expansive outflow in a completely stable fashion. In practical terms, this method computes realistic-looking results in only a few minutes, whereas it once required days.

Modeling bulk behavior

The fracture-propagation algorithm I developed also demonstrates the distinction between visually compelling results and numerical accuracy. Correctly predicting the path a crack will take as it advances poses a number of significant difficulties, particularly if the crack moves quickly.

A number of sophisticated techniques for modeling the advance of a single crack have been developed, but simulating a network of thousands of fractures in a three-dimensional solid, (a wrecking ball striking a concrete wall, for example) remains beyond the scope of most existing methods.

The method I've developed can model this type of situation using only a few hours of computation on a personal computer. The insight behind my fracture work is that, from a visual perspective, the paths taken by individual cracks are essentially unobservable. Rather than spending excessive effort on any given surface, the simulation method focuses on modeling the bulk behavior of the entire system.

Efficient simulations

My past simulation work has focused on modeling mechanisms that give rise to visual phenomena, but even these techniques waste computation resources. They do not account for what the viewer can and cannot see. For example, our explosion method spends as much effort modeling the back side and interior of a cloud of smoke as it does on the front, even though the viewer cannot see them.

To avoid this wasted work, I am currently developing a multi-resolution simulation method that depends on the observer's point of view. This method refines the features most visible to an observer while using a much coarser resolution for partially obscured parts of the system. As the viewer's perspective changes, the method dynamically adjusts local resolution in a fashion unobservable to the viewer. The out-of-view portions are still modeled in sufficient detail, so their interactions with the visible portions are preserved.

Understanding human perception

As simulation methods start to explicitly account for viewer perception, we will need a better understanding of how humans perceive 3-D motion. The view-dependent fluid simulation I am currently working on adds detail based on visibility, but a better understanding of how people actually perceive motion would let us refine the process even further.

I have conducted research investigating the perception of human-figure motion, and I believe further studies will allow future visual simulation research to focus on perceptually significant details. Although we're still a long way from such an understanding, information about human perception has already been used to develop rendering and compression techniques. Eventually, it will also be an important part of motion generation.



James O'Brien is an assistant professor of computer science at the University of California at Berkeley.