|
|
|---|
|
|
![]() |
I have been a graduate student at the Georgia Institute of Technology since the fall of 1999. Soon after my arrival I joined the Animation Lab; working under the guidance of Jessica Hodgins, I started learning the art of tuning simulation parameters and writing controllers for the muscle movements of a virtual human. I transferred into the PhD Program at the beginning of my second year at Tech. Before Greg Turk became my advisor in 2001, I worked with Jarek Rossignac on a recursive graphics language and navigation of 3D environments. I am currently a member of the Graphics, Visualization & Usability Lab.
My thesis has implementation details on a simulator for incompressible fluids with free surfaces. There are many such works, but this one is in a voice that is geared towards researchers in the computer graphics community who may not be familiar with computational fluid dynamics. My thesis also contains many details on my research that would not fit in the below papers.
![]() |
A Simple Boiling Module |
| Theodore Kim, Mark Carlson | |
| ACM SIGGRAPH / Eurographics Symposium on Computer Animation 2007. | |
| Abstract:Recent efforts to visually capture the phenomena of boiling have proposed monolithic approaches that extend the basic techniques underlying existing fluid solvers. In this work, we show that if we instead treat boiling as a separate computational module to be loosely coupled to an existing solver, a very easy to implement, highly efficient algorithm can be designed that produces excellent visual results, even on coarse (643) grids. The algorithm is also highly SIMD-amenable, allowing the boiling computation to be farmed out to a GPU or Playstation 3 Cell processor. Our algorithm takes less than 100 lines of commented, readable C++, and can be integrated into an existing particle level set fluid solver with virtually no modifications. A serial implementation consumes between 3-5% of the overall running time, and a preliminary SIMD implementation shows that a 643 simulation runs at 130 FPS, making the computational cost of the module totally negligible. | |
![]() |
Feature-Guided Dynamic Texture Synthesis on Continuous Flows |
| Rahul Narain, Vivek Kwatra, Huai-Ping Le, Theodore Kim, Mark Carlson, Ming Lin | |
| Eurographics Symposium on Rendering 2007. | |
| Abstract:We present a technique for synthesizing spatially and temporally varying textures on continuous flows using image or video input, guided by the physical characteristics of the fluid stream itself. This approach enables the generation of realistic textures on the fluid that correspond to the local flow behavior, creating the appearance of complex surface effects, such as foam and small bubbles. Our technique requires only a simple specification of texture behavior, and automatically generates and tracks the features and texture over time in a temporally coherent manner. Based on this framework, we also introduce a technique to perform feature-guided video synthesis. We demonstrate our algorithm on several simulated and recorded natural phenomena, including river streams and lava flows. We also show how our methodology can be extended beyond realistic appearance synthesis to more general scenarios, such as temperature-guided synthesis of complex surface phenomena over a liquid during boiling. | |
![]() |
Animating Corrosion and Erosion |
| Chris Wojtan, Mark Carlson, Peter J. Mucha, Greg Turk | |
| Eurographics Workshop on Natural Phenomena 2007. | |
| Abstract:In this paper, we present a simple method for animating natural phenomena such as erosion, sedimentation, and acidic corrosion. We discretize the appropriate physical or chemical equations using finite differences, and we use the results to modify the shape of a solid body. We remove mass from an object by treating its surface as a level set and advecting it inward, and we deposit the chemical and physical byproducts into simulated fluid. Similarly, our technique deposits sediment onto a surface by advecting the level set outward. Our idea can be used for off-line high quality animations as well as interactive applications such as games, and we demonstrate both in this paper. | |
![]() |
Texturing Fluids |
|
| Vivek Kwatra, David Adalsteinsson, Nipun Kwatra, Mark Carlson, Ming Lin | Paper |
Sketch |
| IEEE Transactions on Visualization and Computer Graphics (TVCG) 2007. Technical Sketches Program, ACM SIGGRAPH 2006. |
||
| Abstract:We present a novel technique for synthesizing textures over dynamically changing fluid surfaces. We use both image textures as well as bump maps as example inputs. Image textures can enhance rendering of the fluid by imparting novel realistic appearance to it, whereas bump maps enable the generation of complex micro-structures on the surface of the fluid that may be very difficult to synthesize using simulation. To generate temporally coherent textures over a fluid sequence, we transport texture information, i.e. color and local orientation, between fluid free surfaces from one time step to the next. This is accomplished by extending the texture information from the first fluid surface to the 3D fluid domain, advecting this information within the fluid domain along the fluid velocity field for one time step, and interpolating it back onto the second surface -- this operation, in part, uses a novel vector advection technique for transporting orientation vectors. We then refine the transported texture by performing texture synthesis over the second surface using our `surface texture optimization algorithm, which keeps the synthesized texture visually similar to the input texture and temporally coherent with the transported one. We demonstrate our novel algorithm for texture synthesis on dynamically evolving fluid surfaces in several challenging scenarios. | ||
![]() |
Physically Based Deformable Models in Computer Graphics |
| Andrew Nealen, Matthias Müller, Richard Keiser, Eddy Boxerman, Mark Carlson | |
| Computer Graphics Forum, Vol. 25, issue 4, pages 809-836, and Eurographics 2005 State of the Art Report. |
|
| Abstract: Physically based deformable models have been widely embraced by the Computer Graphics community. Many problems outlined in a previous survey by Gibson and Mirtich [GM97] have been addressed, thereby making these models interesting and useful for both offline and real-time applications, such as motion pictures and video games. In this paper, we present the most significant contributions of the past decade, which produce such impressive and perceivably realistic animations and simulations: finite element/difference/volume methods, mass-spring systems, meshfree methods, coupled particle systems and reduced deformable models based on modal analysis. For completeness, we also make a connection to the simulation of other continua, such as fluids, gases and melting objects. Since time integration is inherent to all simulated phenomena, the general notion of time discretization is treated separately, while specifics are left to the respective models. Finally, we discuss areas of application, such as elastoplastic deformation and fracture, cloth and hair animation, virtual surgery simulation, interactive entertainment and fluid/smoke animation, and also suggest areas for future research. | |
![]() |
Full Paper (PDF, low quality pictures),
Full Paper (zipped PDF, high quality pictures). We present the Rigid Fluid method, a technique for animating the interplay between rigid bodies and viscous incompressible fluid with free surfaces. We use distributed Lagrange multipliers to ensure two-way coupling that generates realistic motion for both the solid objects and the fluid as they interact with one another. We call our method the rigid fluid method because the simulator treats the rigid objects as if they were made of fluid. The rigidity of such an object is maintained by identifying the region of the velocity field that is inside the object and constraining those velocities to be rigid body motion. The rigid fluid method is straightforward to implement, incurs very little computational overhead, and can be added as a bridge between current fluid simulators and rigid body solvers. Many solid objects of different densities (e.g. wood or lead) can be combined in the same animation. |
Individual ExamplesThe below movies are DIVX encoded. Download Codec All Sound FX were created by Andrew Lackey
|
My current research is the simulation of fluid as it changes state from solid to liquid and back. A good example of these phenomena is displayed by candle wax as it melts, rolls down the side of a candle, and creates drip formations and puddles as it cools.
Researchers in computer graphics have succeeded in simulating fluid movements such as smoke and water, but when these fluids start to get thicker and thicker (more viscous) these current simulations get slower and slower. One of the goals of my research was to remove this limitation. Below are four different simulations run with increasing viscosities. The top of each picture is after 1.6 seconds, and the bottom is after 10 seconds.
![]() |
![]() |
![]() |
![]() |
All four of the above simulations run at relativly the same speed. In fact, they each run a little faster than the last (see table).
Another goal of my research was to find a technique that would allow the fluid to change viscosity realistically during the simulation. The animation below (from two different viewpoints) is of a wax bunny melting. The viscosity in the simulation varies from 0.1 to 10,000.

The melting bunny is a good example of the flexibility of my simulator. In fact, my solver can melt any shape object, not just bunnies. Other strange objects can be simulated as well. The first of the two final animations below is toothpaste, and the last one is of a drip sand castle (like the kind you can make at the beach by repeatedly dripping wet sand).
The table below shows statistics for all the animations on this page. The simulation time (in seconds) is for the entire animation, not just a single frame. The simulations were performed on a 2.0 GHz Pentium 4 processor.
| Animation | frame count | simulation time (seconds) | viscosity | grid size |
| Green Liquid 1 | 300 | 145 | 0.1 | 32x32x32 |
| Green Liquid 2 | 300 | 104 | 1 | 32x32x32 |
| Green Liquid 3 | 300 | 94 | 10 | 32x32x32 |
| Green Liquid 4 | 300 | 94 | 100 | 32x32x32 |
| Toothpaste | 330 | 108 | 10,000 | 42x33x18 |
| Bunny Melt | 600 | 330 | 0.1 - 10,000 | 35x28x38 |
| Drip Sand | 750 | 397 | 50,000 | 48x48x48 |
