[Georgia Tech][GVU][Search][Animation lab]

Dr. Mark Carlson

GVU Alumnus

Links to:
     I now work at Walt Disney Animation Studios.
     Résumé
     Personal Home Page
View Mark T. Carlson's profile on LinkedIn

Micro History:

     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.  

Thesis: Rigid, Melting, and Flowing Fluid

     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.

Publications:

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.

Rigid Fluid

"Rigid Fluid: Animating the Interplay Between Rigid Bodies and Fluid"
Mark Carlson, Peter J. Mucha and Greg Turk
to appear in ACM SIGGRAPH 2004

Full Animation (DivX w/sound)
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 Examples

The below movies are DIVX encoded. Download Codec

All Sound FX were created by Andrew Lackey

Block Splash - A silver block catapulting some wooden blocks into an oncoming wall of water. Gears & Bunnies - Eight metal gears are thrown down into a pool or water that contains wooden bunnies.
Drafting, Tumbling & Kissing - Tumbling of two sinking stones. Passively advected particles mark the fluid movement. Tumbling Gems - Two odd shaped gems tumbling in a water filled shaft. Passively advected particles mark the fluid movement.
Lead & Wood Splash - A lead and a wood ball are thrown, spinning, into a tank of water. Lead, Wood & Skittles - Massless particles are advected to highlight the swirling water motion.

Melting and Flowing

"Melting and Flowing"
Mark Carlson, Peter J. Mucha, R. Brooks Van Horn III and Greg Turk
ACM SIGGRAPH Symposium on Computer Animation
San Antonio, Texas, July 21-22, 2002
Full Paper (PDF, 8.14 Mbytes).
     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.

01.mpg

1.mpg

10.mpg

100.mpg
     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.

bunnyside.mpg      bunnyfront.mpg
     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
Table: Run time statistics.

Contact Information: