+ All Categories
Home > Documents > A Unied Lagrangian Approach to Solid-Fluid...

A Unied Lagrangian Approach to Solid-Fluid...

Date post: 29-Dec-2019
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
10
Eurographics Symposium on Point-Based Graphics (2005, to appear) M. Pauly, M. Zwicker, (Editors) A Unified Lagrangian Approach to Solid-Fluid Animation Richard Keiser 1 Bart Adams 2 Dominique Gasser 1 Paolo Bazzi 1 Philip Dutré 2 Markus Gross 1 1 ETH Zürich 2 Katholieke Universiteit Leuven Abstract We present a framework for physics-based animation of deforming solids and fluids. By merging the equations of solid mechanics with the Navier-Stokes equations using a particle-based Lagrangian approach, we are able to employ a unified method to animate both solids and fluids as well as phase transitions. Central to our framework is a hybrid implicit-explicit surface generation approach which is capable of representing fine surface detail as well as handling topological changes in interactive time for moderately complex objects. The generated surface is represented by oriented point samples which adapt to the new position of the particles by minimizing the potential energy of the surface subject to geometric constraints. We illustrate our algorithm on a variety of examples ranging from stiff elastic and plasto-elastic materials to fluids with variable viscosity. 1. Introduction Realistic animation of physical phenomena has gained in- creasing importance in many fields of computer graphics, including the game and special effects industries. Typical ex- amples include the animation of deformable solids and flu- ids. The phase transition between solids and fluids, i.e., melt- ing and freezing, also plays an important role in special ef- fects. A prominent example is the terminator sequence from the well-known feature film, where the metallic terminator is shattered, after which the individual pieces melt and fuse, before retaining the old shape and freezing to a solid. A variety of methods exist for physically based ani- mation. Mesh- and grid-based approaches such as mass- spring systems, Finite Element, Finite Difference or Finite Volume methods are still the most widespread, but mesh- free methods have recently become increasingly popular for the animation of elasto-plastic materials and fluids. Mesh- free methods or particle systems allow for easy implemen- tation and have demonstrated to be computationally effi- cient [MCG03, MKN * 04], which is especially important for games and interactive applications, but also for prototyping of animations. Furthermore, mesh-free methods can handle topological changes, which inherently occur for fluid-like materials, without the need for remeshing. Mesh-free methods require the definition or extraction of an implicit or explicit surface for rendering. In the context of a unifying framework for solid-fluid animations the surface must be able to fulfill various requirements. Solid surfaces are often very detailed, while fluid surfaces are smooth due to surface tension. For phase transitions from solids to fluids the detail should disappear, while from fluids to solids the existing detail has to be preserved. Additionally, the surface should be temporally smooth, i.e. temporal aliasing such as popping artifacts should be avoided. Finally, topological changes such as splashes must be handled by the surface. We will show how to fulfill these requirements by dynam- ically maintaining a point-sampled surface wrapped around the particles. 1.1. Our Contributions In this paper we propose a unified Lagrangian approach for both physics and surface animation of solids and fluids as well as phase transitions. The main challenges are the han- dling of locally different physical behavior during melting and freezing and the extraction of a surface which is able to represent detailed and smooth surfaces as well as handling topological changes. The main contributions are: By combining the equations of solid mechanics with the Navier-Stokes equations using a Lagrangian ap- proach, we are able to employ a unified method to ani- mate both fluids and solids as well as phase transitions. We present a hybrid implicit-explicit surface gener- ation approach which dynamically constructs a point- sampled surface wrapped around the particles. Potentials are defined which guide the surface deformation. The gen- erated surface fulfills aforementioned requirements. Most importantly, we are able to represent the fine surface de- tail required for solids, as well as the smooth surfaces of fluids. c The Eurographics Association 2005, to appear.
Transcript
  • Eurographics Symposium on Point-Based Graphics (2005, to appear)M. Pauly, M. Zwicker, (Editors)

    A Unified Lagrangian Approach to Solid-Fluid Animation

    Richard Keiser1 Bart Adams2 Dominique Gasser1 Paolo Bazzi1 Philip Dutré2 Markus Gross1

    1 ETH Zürich 2 Katholieke Universiteit Leuven

    AbstractWe present a framework for physics-based animation of deforming solids and fluids. By merging the equationsof solid mechanics with the Navier-Stokes equations using a particle-based Lagrangian approach, we are able toemploy a unified method to animate both solids and fluids as well as phase transitions. Central to our frameworkis a hybrid implicit-explicit surface generation approach which is capable of representing fine surface detail aswell as handling topological changes in interactive time for moderately complex objects. The generated surface isrepresented by oriented point samples which adapt to the new position of the particles by minimizing the potentialenergy of the surface subject to geometric constraints. We illustrate our algorithm on a variety of examples rangingfrom stiff elastic and plasto-elastic materials to fluids with variable viscosity.

    1. Introduction

    Realistic animation of physical phenomena has gained in-creasing importance in many fields of computer graphics,including the game and special effects industries. Typical ex-amples include the animation of deformable solids and flu-ids. The phase transition between solids and fluids, i.e., melt-ing and freezing, also plays an important role in special ef-fects. A prominent example is the terminator sequence fromthe well-known feature film, where the metallic terminatoris shattered, after which the individual pieces melt and fuse,before retaining the old shape and freezing to a solid.

    A variety of methods exist for physically based ani-mation. Mesh- and grid-based approaches such as mass-spring systems, Finite Element, Finite Difference or FiniteVolume methods are still the most widespread, but mesh-free methods have recently become increasingly popular forthe animation of elasto-plastic materials and fluids. Mesh-free methods or particle systems allow for easy implemen-tation and have demonstrated to be computationally effi-cient [MCG03, MKN∗04], which is especially important forgames and interactive applications, but also for prototypingof animations. Furthermore, mesh-free methods can handletopological changes, which inherently occur for fluid-likematerials, without the need for remeshing.

    Mesh-free methods require the definition or extraction ofan implicit or explicit surface for rendering. In the context ofa unifying framework for solid-fluid animations the surfacemust be able to fulfill various requirements. Solid surfacesare often very detailed, while fluid surfaces are smooth due

    to surface tension. For phase transitions from solids to fluidsthe detail should disappear, while from fluids to solids theexisting detail has to be preserved. Additionally, the surfaceshould be temporally smooth, i.e. temporal aliasing suchas popping artifacts should be avoided. Finally, topologicalchanges such as splashes must be handled by the surface.We will show how to fulfill these requirements by dynam-ically maintaining a point-sampled surface wrapped aroundthe particles.

    1.1. Our ContributionsIn this paper we propose a unified Lagrangian approach forboth physics and surface animation of solids and fluids aswell as phase transitions. The main challenges are the han-dling of locally different physical behavior during meltingand freezing and the extraction of a surface which is able torepresent detailed and smooth surfaces as well as handlingtopological changes. The main contributions are:

    • By combining the equations of solid mechanics withthe Navier-Stokes equations using a Lagrangian ap-proach, we are able to employ a unified method to ani-mate both fluids and solids as well as phase transitions.

    • We present a hybrid implicit-explicit surface gener-ation approach which dynamically constructs a point-sampled surface wrapped around the particles. Potentialsare defined which guide the surface deformation. The gen-erated surface fulfills aforementioned requirements. Mostimportantly, we are able to represent the fine surface de-tail required for solids, as well as the smooth surfaces offluids.

    c© The Eurographics Association 2005, to appear.

  • Keiser et al. / A Unified Lagrangian Approach to Solid-Fluid Animation

    • Topological changes are incorporated in a lightweightand efficient manner. Furthermore, we avoid the blend-ing artifacts typically arising when handling topologicalchanges using implicit functions.

    1.2. OutlineWe give an overview of related work in the next section.Sec. 3 explains the physics-based simulation framework.Next, we show how the surface is generated and animatedin Sec. 4. A variety of results are given in Sec. 5. We con-clude the paper with a discussion of results and an outlookon future work.

    2. BackgroundExhaustive work has been done in physically based anima-tion. We provide an overview of the existing work that ismost relevant to this paper.

    2.1. Deformable Solids & FluidsTerzopoulos and co-workers pioneered the field of phys-ically based animation in their seminal paper [TPBF87].They proposed to compute the dynamics of deformablemodels from the potential energy stored in the elasticallydeformed body using finite difference discretization. Theyextended their work to model plasticity and fracture [TF88].In [TPF89], Terzopoulos et al. used a mass-spring systemto model heating and melting of deformable objects, achiev-ing a (local) phase transition from solids to fluids by simplyvarying the spring constant and finally removing a spring.Similar work was presented by Tonnesen [Ton91], who ap-plied the heat equation to a particle system. Desbrun andCanni [DC96] introduced Smoothed Particle Hydrodynam-ics (SPH) [Mon92] to the graphics community. SPH wasused by Müller et al. to derive an interactive fluid simula-tion algorithm from the Navier-Stokes equations [MCG03].Stora et al. [SAC∗99] simulated the flow of lava using SPHby coupling viscosity with temperature. Stam achieved asignificant performance improvement for fluid animationsusing a semi-Lagrangian method for fluid convection andan implicit integrator for diffusion [Sta99]. Carlson and co-workers used an Eulerian grid-based fluid simulation methodfor melting, flowing and solidifying of objects [CMVT02].Their method is capable of modelling different materials,ranging from rigid solids to fluids, by varying the viscos-ity. Recently, Carlson et al. presented an approach to sim-ulate fluids as rigid bodies by adding an extra term to theNavier-Stokes equations. This way the interplay betweenrigid bodies and fluid could be computed efficiently usingthe same simulation solver for both [CMT04]. Goktekin etal. [GBO04] added elastic terms to the Navier-Stokes equa-tions solving them using Eulerian methods, thus obtainingviscoelastic fluids that can model a variety of materials suchas clay and pudding. Our work is similar to theirs in thatwe also combine fluid and solid characteristics. Merging ofthe solid mechanics with the Navier-Stokes equations allows

    us to animate materials from highly stiff elastic and plasto-elastic materials to fluids with low viscosity.

    2.2. Surface Generation & VisualizationDesbrun and Canni model soft inelastic objects which splitand merge by coating a set of skeletons using an implicit rep-resentation [DC95]. They extend their work by introducingactive implicit surfaces [DCG98], which move according toa velocity field. The velocity field is chosen such that the sur-face is attracted to a geometric coating, but other terms suchas surface tension and volume conservation are also applied.

    State-of-the art methods in fluid simulation use levelsets, introduced by Osher and Sethian [OS88], to renderthe fluid [FF01]. Level sets start with an implicit functionwhich is evolved over time using a velocity field. This al-lows temporally smooth surface animation. However, levelset evolution can suffer from severe volume loss, especiallynear detailed features such as splashes. As a solution, En-right et al. propose to combine level sets with surface parti-cles [EMF02, ELF04].

    The techniques discussed so far animate the surface bysolving a PDE on a grid, followed by iso-surface extractionfor rendering. Witkin and Heckbert defined constraints tokeep surface particles on a moving implicit surface [WH94].Surface particles adaptively sample the surface using a split-ting and merging scheme. Szeliski and Tonnesen introducedoriented particles for surface modeling [ST92]. Additionallyto long-range attraction and short-range repulsion forces,they define potentials which favor locally planar or lo-cally spherical arrangements. Their particle system can han-dle geometric surfaces with arbitrary topology. Similar tothem, we use surfels as oriented particles. Our explicit sur-face representation deforms by internal and external forcesand geometric constraints, similar to active implicit sur-faces [DCG98]. We derive the forces by minimizing a po-tential energy term which depends on both the surface andthe physical particles. Besides gaining efficiency in compu-tation and memory, we can exploit all advantages of explicitsurfaces such as the simple representation of fine surface de-tails.

    2.3. Point-based AnimationPoint-sampled surfaces have become popular the last fewyears for editing [ZPKG02], modelling [AD03, PKKG03]and rendering [ZPvG01, BK03, AA04]. Recently, mesh-freephysics has been combined with point-sampled surfaces inso-called point-based animations [pba04]. Müller et al. in-troduced to the computer graphics community a mesh-free,continuum-mechanics-based model for animating elasto-plastic objects [MKN∗04]. They showed how to embed apoint-sampled surface into the simulation nodes. Further-more, they propose a multi-representation approach, consist-ing of an implicit and a detailed representation. At placeswhere topological changes occur, a blending between thedetailed and the implicit representation is performed. Pauly

    c© The Eurographics Association 2005, to appear.

  • Keiser et al. / A Unified Lagrangian Approach to Solid-Fluid Animation

    et al. [PKA∗05] extended their work to account for frac-ture by introducing surface and volume sampling methods.Our work is based on the physics framework of [MKN∗04].While they are able to simulate highly viscous materialsby increasing the plasticity, we show how to introduce theNavier-Stokes equations into their framework. This allowsus to simulate fluids with varying viscosity and the transitionfrom stiff elastic and plasto-elastic materials to fluids andvice versa. A surface generation algorithm which is suitablefor both solids and fluids and supports melting and freezingcompletes our framework.

    3. Physics FrameworkFrom a high-level point of view, the mechanics for solidsand fluids are quite similar. The main difference is that solidshave restoring forces due to stresses, while an ideal (Newto-nian) fluid stores no deformation energy [TF88]. We referto [GBO04] for a broader discussion.

    3.1. Governing EquationsFollowing [MSHG04], we can write the equations for anelastic solid as

    ρ ∂2u

    ∂t2= ∇σs(u)+ f, (1)

    and for an incompressible Newtonian fluid as

    ρ DvDt

    = ∇σ f (v)+ f. (2)

    Both Eq. 1 and Eq. 2 describe the change in momentumwhich is equal to internal force density fields due to stressesand body force density fields f, where ρ denotes the density,u the displacement from the material coordinates, v the ve-locity and σ the stress tensor. DvDt is the material derivative ofthe velocity field. Conservation of mass is represented as

    ∂ρ∂t

    +∇(ρv) = 0. (3)

    These equations can be simplified when using a particle-based Lagrangian approach. By assigning each particle pia constant mass mpi , mass conservation is guaranteed andEq. 3 can be omitted. Furthermore, because the particlesmove with the fluid, the material derivative DvDt of the veloc-ity field is equal to the time derivative of the velocity of theparticles [MSHG04]. For the same reason the partial deriva-tive of the displacement field is equal to the time derivativeof the displacement. Using that v = dudt , Eq. 1 and 2 can bewritten as

    ρ d2u

    dt2= ∇σs(u)+ f, (4)

    ρ d2u

    dt2= ∇σ f (v)+ f. (5)

    Finally, we merge Eq. 4 and Eq. 5 as follows

    ρ d2u

    dt2= ∇σ(u,v)+ f, (6)

    where σ(u,v) = σs(u)+σ f (v) is the sum of the elastic, vis-cous and pressure stress.

    Note that although f is a force density field (force per unitvolume), we will denote it as force in the following subsec-tions for simplicity.

    3.2. Internal ForcesWe will briefly summarize how to solve Eq. 6 using a pointcollocation scheme. We refer to [MCG03] and [MKN∗04]for details.

    Elastic Force. As shown in [MKN∗04], the elastic force canbe computed via the strain energy density

    U =12(εs ·σs),

    where εs is the strain and σs the elastic stress. We use a linearstress-strain relationship (Hooke’s law), i.e., σs = Cεs. Foran isotropic material, C depends only on Young’s ModulusE and Poisson’s Ratio υ. The strain is measured using thequadratic Green-Saint-Venant strain tensor

    εs = 12(∇u+∇uT +∇u∇uT ),

    where ∇u is approximated using Moving Least Squares(MLS). We refer the reader to [LS81] for more details aboutMLS.

    To model plasticity, we follow [OBH02] and store foreach particle a plastic strain tensor εplastpi , which is updatedin every time step depending on the plastic yield and plasticcreep material constants γyield and γcreep, respectively. Thedifference between the measured strain εspi and the plasticstrain, i.e., ε̃spi = ε

    spi − ε

    plastpi , is used to compute the elastic

    force felasticpi acting on a particle pi as the directional deriva-tive of the strain energy density

    felasticpi = −∇uiU = −12∇ui(ε̃

    spi ·Cε̃

    spi) = −σ

    spi∇ui ε̃

    spi .

    Viscosity and Pressure Force. The fluid stress tensor σ f (v)is composed of the viscosity stress and the pressure stress

    σ f (v) = µ∇v−ϕI,

    where µ is a viscosity constant and ϕ the scalar pressure. ϕ iscomputed as ϕ = kgas(ρ−ρ0), where ρ0 is the rest densityand kgas is a gas constant [DC96]. Note that for melting andfreezing, µ can locally differ and is subject to change.

    The viscosity and pressure force are derived using SPH,similar to [MCG03]. For an introduction to SPH we referto [Mon92] and [DC96]. Application of the SPH rule yieldsthe following forces acting on a particle pi

    fviscpi = ∑p j

    mp jµpi +µp j

    2vp j −vpi

    ρp j∇2W visc(xpi −xp j ,hp)

    fpressurepi = −∑p j

    mp jϕpi +ϕp j

    2ρp j∇W pressure(xpi −xp j ,hp)

    c© The Eurographics Association 2005, to appear.

  • Keiser et al. / A Unified Lagrangian Approach to Solid-Fluid Animation

    where hp is the support radius of a particle and p j are theneighboring particles of pi within hp. We use the same ker-nel functions W visc and W pressure as in [MCG03].

    Surface Tension Force. Additionally to the above men-tioned forces, cohesive forces between liquid moleculeskeep the fluid together. We follow [MCG03] and define asmoothed color field as

    c(x) = ∑p j

    mp j1

    ρp jW (x−xp j ,hp).

    The gradient is denoted as nc(x) = ∇c(x). The surfacetension force acting near the surface is computed as

    ftensionpi = −ktension∇2c(xpi)

    nc(xpi)‖nc(xpi)‖

    ,

    where ktension is a material specific constant.

    3.3. Melting & FreezingIn our setting, a material can be defined by the followingmain properties: Stiffness (Young’s Modulus E), compress-ibility (Poisson’s Ratio υ), plasticity (γyield and γcreep), vis-cosity (µ) and cohesion between (surface) particles (surfacetension ktension). As long as these values are chosen in a(physically) reasonable range, they can be arbitrarily com-bined. Therefore, also materials which do not exist in realitycan be created, as e.g. elastic fluids.

    For melting and freezing, the material parameters needto change together with the changing aggregation state. Toallow local changes, each particle stores its own material pa-rameters. If the material melts from solid to fluid, the stiff-ness and viscosity decrease, while cohesion at the surfaceand plasticity increase, and vice versa for freezing. The usercan set the parameters described above for two materials. Weassign to each particle pi a scalar value Tpi which is used tointerpolate between the two materials. We call Tpi the tem-perature of pi. Assuming a scalar material parameter a wasset by the user to amin and amax for T min and T max, respec-tively (see also Sec. 5), api is computed using linear interpo-lation.

    Heat transfer between particles is modelled by solv-ing the heat equation dTdt = k

    heat∇2T using SPH, similarto [SAC∗99]

    ∇2Tpi = ∑p j

    m jTp j −Tpi

    ρp j∇2W visc(xpi −xp j ,hp),

    where we use the same kernel as for computing the viscosity.

    3.4. Particle AnimationDepending on the application, we either sample the volumeof an object or use a source that creates a stream of particles.Mass mpi , density ρpi and volume vpi are initialized as isdone in SPH, we refer to [DC96] and [MKN∗04] for details.

    In each iteration, we first compute for each particle p j

    its particle neighborhood using a hash grid as a search datastructure [THM∗03]. The force density fields are then com-puted as described in the previous sections, yielding the finalforce density field fpi = felasticpi + f

    viscpi + f

    pressurepi + f

    tensionpi for

    a particle pi. Finally, the acceleration api is

    api =d2upidt2

    =fpiρpi

    .

    For integration we use the Leap-Frog scheme, which showedto be both efficient and stable for our animations. After an it-eration step, we update the material coordinates as describedin [MKN∗04].

    4. Surface AnimationThe surface of the animated object is explicitly representedusing oriented point samples, called surfels. To be able toanimate and deform the surface, each surfel keeps a setof neighboring particles and a set of neighboring surfels(Sec. 4.1). After performing an animation step of the par-ticles, we get an estimation of the new surface by carryingthe surfels along with the neighboring particles (Sec. 4.2.1).Similar to active contour models [KWT88], the surfaceadapts to the new position of the particles by minimizinga potential energy term (Sec. 4.2.2) while fulfilling geomet-ric constraints (Sec. 4.2.3). The surface resolution is adaptedusing a simple resampling scheme that ensures a hole-freesurface (Sec. 4.3). Disjoint components of the surface areidentified and the particles and surfels are separated accord-ingly (Sec. 4.4.1). We detect intersections of separated sur-faces and merge the intersecting surface parts (Sec. 4.4.2).Finally, we show how the surface can be blended smoothlybetween detailed solid and smooth fluid surfaces (Sec. 4.5).

    4.1. Surfel NeighborhoodsEach surfel si caches a set Pi of neighboring particles anda set Si of neighboring surfels of the same object (Fig. 1).The neighboring particles are used to estimate the displace-ment of the surfels after an animation step. From the surfelneighborhood, forces are computed to update the surface asdescribed below.

    Particle Neighborhood. The neighboring particles are com-puted in a pre-animation step. We reuse the hash grid datastructure (Sec. 3.4) of the particles to determine the particlesp j which are within the (particle) support radius h

    ps of a sur-

    fel si (we choose hps = 2hp, where hp is the support radius of

    the particles, see Sec. 3.2). Furthermore, we store a weightωh

    ps

    xsi ,xp j for each neighbor particle which is computed usinga smoothly decaying weight function depending on the dis-tance to si. We use the following compactly supported poly-nomial function with support radius h

    ωhx,y = ω(r) =

    {(1− r2)3 ‖r‖ ≤ 10 ‖r‖ > 1,

    (7)

    where r = (x−y)/h.

    c© The Eurographics Association 2005, to appear.

  • Keiser et al. / A Unified Lagrangian Approach to Solid-Fluid Animation

    particles pj

    surfels si

    particle neighborhood Pi surfel neighborhood Si

    Figure 1: Left: The surfels si are wrapped around the par-ticles p j . Middle and Right: Each surfel si stores a particleneighborhood Pi and a surfel neighborhood Si.

    Surfel Neighborhood. Additional to the particle neighbor-hood, a surfel si also caches the neighboring surfels withinthe (surfel) support radius hss (we choose hss = hp). We useagain a hash grid as a search data structure. This neighbor-hood is recomputed after the surface has been carried alongwith the particles (see Sec. 4.2.1). Next, during surface up-date (see Sec. 4.2.2), the position of the surfels change fre-quently and therefore this surfel neighborhood needs to beupdated quite often. Instead of doing an update of the searchdata structure and expensive recomputation of the neighborseach time the position of a surfel changes, we use the fol-lowing update scheme.

    Assume the surfel si changed its position. Let the newneighborhood be the (initially empty) set S′i . First, all surfelsin Si with an Euclidean distance smaller than hss are added toS′i . Next, we iterate through all neighbors of the neighbors inSi and add them to S′i if their Euclidean distance is smallerthan hss. By tagging neighbors which were already visited,this update procedure can be performed very fast. Note thatnot necessarily all neighbors are found, however, as the sur-fel position does not change significantly during the surfacedeformation, this update procedure showed to be sufficient.Some of the following algorithms will only use the k near-est neighbors from the neighbor set Si (we use k = 10). Wedenote this subset as Ssubi .

    4.2. Surface DeformationSurface animation is performed after animating the parti-cle system. The deformation is applied in two steps. First,the surfels are carried along with the particles (Sec. 4.2.1).Next, they are updated to reflect the new particle positionsby minimizing the surface energy, where constraints restrictthe possible movements (Sec. 4.2.2).

    4.2.1. Surface DisplacementThe displaced surfel position xt+1si is computed using a firstorder accurate approximation of the displacements up j of theneighboring particles p j as follows [MKN∗04]

    xt+1si = xtsi + ∑

    p j∈Piωh

    ps

    xsi ,xp j (up j +∇T up j (x

    tp j −x

    tsi)),

    where ωhps

    x,y = ωhpsx,y/∑y ω

    hpsx,y, and ω

    hpsx,y is the weighting func-

    tion defined in Eq. 7. We reuse the MLS approximation of∇up j , which is computed for deriving the elastic force asdescribed in Sec. 3.2. Similar to [PKKG03], both the sur-fel center and its tangent axes are deformed, yielding the

    deformed surfel normal nt+1si . For brevity we will omit theindex t hereafter.

    4.2.2. Surface UpdateAfter carrying the surface along with the particles, it is de-formed under the action of surface forces, similar to bal-loons [Coh91]. The forces are derived by minimizing thepotential energy of the surface. The potential energy is com-posed of external potentials which depend on the particlesand internal potentials which depend on the surfels. We de-rive an implicit and an attracting potential such that the en-ergy is minimized when the surfels are attracted to an im-plicit surface and to the particles, respectively. Minimizingthe internal potentials, consisting of the smoothing potentialand the repulsion potential, yields a locally smooth and uni-formly sampled surface. From the potential energy we deriveforces acting on the surfels. While the derived forces fromthe implicit, attracting and smoothing potential act in nor-mal direction, the repulsion force is applied in tangential di-rection. Note that these forces are defined for deforming thesurface only, and are therefore independent of the physicsframework described in Sec. 3.

    Implicit Potential. Similar to [DCG98], we define a purelygeometric implicit coating of the particles that attracks ourexplicit surface. Each particle p j defines a field function. Apotential field is defined by computing the weighted sum ofthe field functions at an arbitrary position in space [Bli82].We use the color field c(x) described in Sec. 3.2 as a po-tential field. We define the implicit potential φimplsi as thesquared distance from the position xsi of a surfel si to its pro-jected position ximplsi on an iso-level I of the potential field,i.e.,

    φimplsi =12(ximplsi −xsi)

    2.

    ximplsi is computed similar to [MKN∗04]. The normal nimplsi

    at ximplsi is equal to the gradient of the color field , i.e. nimplsi =

    ∇c(ximplsi ).

    Attracting Potential. Generally, we want the surface to coatthe particles as tight as possible. Therefore we define a po-tential such that the surfels are attracted to the particles. Wedefine the attracting potential φattr as the sum of weightedsquared distances from a surfel si to its neighboring parti-cles p j ∈ Pi, i.e.,

    φattr = 12 ∑p j∈Pi

    (xp j −xsi)2ωh

    ps

    xsi ,xp j ,

    where ωhps

    xsi ,xp j is the weighting function defined in Eq. 7.

    Smoothing Potential. Minimization of the implicit and at-tracting potential yields the well-known blob artifacts due tothe discretization of the volume with particles (see Fig. 2).Therefore, we derive a potential φsmooth which yields asmooth surface. We compute a weighted Least Squares (LS)

    c© The Eurographics Association 2005, to appear.

  • Keiser et al. / A Unified Lagrangian Approach to Solid-Fluid Animation

    plane through the neighbors s j ∈ Si of a surfel si usingPrinicpal Component Analysis (see e.g. [PGK02]). We re-strict the neighborhood to neighbor surfels whose normalshave an angle to the normal of si smaller than a threshold(we choose π/4). The LS plane is given by the weightedmean xmeansi and the LS plane normal n

    smoothsi . The projec-

    tion of xsi onto the LS plane gives the position xpro jsi =

    xsi + (nsmoothsi · (xmeansi − xsi))n

    smoothsi . Finally, we define the

    smoothing potential φsmoothsi as the squared distance from sito the LS plane, i.e.,

    φsmoothsi =12(xpro jsi −xsi)

    2.

    Repulsion Potential. To achieve a locally uniform distribu-tion, we define a repulsion potential φrepsi similar to [PGK02].It is minimal when the neighboring particles s j ∈ Ssubi of asurfel si have a distance hss to si:

    φrepsi =12 ∑

    s j∈Ssubi

    (hss −‖dsi,s j‖)2,

    where dsi,s j = xsi −xs j .

    Minimizing Forces. The potential energy of the surfels siis minimized by applying forces which are derived from theenergy fields:

    fimplsi = −∇xsi φimplsi = x

    implsi −xsi ,

    fattrsi = −∇xsi φattrsi = ∑

    p j∈Pi(ω(r)dp j ,si −

    12

    ω(r)′d2p j ,si),

    fsmoothsi = −∇xsi φsmoothsi = x

    pro jsi −xsi ,

    frepsi = −∇xsi φrepsi = ∑

    s j∈Ssubi

    (hss −‖dsi,s j‖)‖dsi,s j‖

    dsi,s j ,

    where dp j ,si = xp j −xsi and r = dp j ,si/hps .

    We restrict the repulsion force to only act in tangen-tial direction and the other forces to only act in nor-mal direction. We do this by computing a new surfelnormal n′si as the average of the implicit gradient n

    implsi

    and the smoothed normal nsmoothsi , i.e., n′si = (k

    implnimplsi +ksmoothnsmoothsi )/‖k

    implnimplsi + ksmoothnsmoothsi ‖. The tangen-

    tial force ftansi is then defined as the projection of the repul-sion force frepsi on the tangent plane defined by the new surfelnormal n′si :

    ftansi = frepsi − (n

    si · frepsi )n

    si .

    The force in normal direction fnormalsi is computed as the pro-jection of the implicit, attracting, smoothing and optional ex-ternal forces:

    fnormalsi = (n′

    si · fsumsi )n

    si ,

    where fsumsi = kimplfimplsi +k

    attrfattrsi +ksmoothfsmoothsi +k

    ext fextsi .The weights are user defined parameters, where there is al-ways a tradeoff between smoothness and closeness of thesurface to the particles, see Fig. 2.

    Figure 2: Illustration of the impact of the implicit, smooth-ing and attracting force. Left: Implicit force only (kimplicit =0.2). Middle: Implicit and smoothing force (kimplicit = 0.2,ksmooth = 0.6). Right: Implicit, smoothing and attractingforce (kimplicit = 0.2, ksmooth = 0.6, kattr = 0.1).

    Integration. Finally, we get the new surfel position usingEuler integration, i.e. x′si = xsi + α(f

    normalsi + f

    tansi ), where

    0 < α ≤ 1 is a scaling factor. Note that applying the forcesalong the new surfel normal vector n′si can be seen as a semi-explicit Euler integration, yielding a very stable integrationif all weights are smaller than one, as n′si is smooth (assum-ing that the iso-value I is chosen such that the iso-surface issmooth). To avoid oscillations, we damp the system by mul-tiplying α at each iteration with a damping constant. Theintegration is repeated until the maximal displaced distanceof all surfels of a surface component is below a threshold.

    4.2.3. ConstraintsConstraints restrict the position and movement of the sur-face. We propose to use two constraints which are applied inthe following order:

    Implicit Constraint. Optionally, we restrict a surfel to bewithin a minimal iso-level (see the implicit force descriptionin the previous section), which is useful for splitting of solidobjects as will be shown in Sec. 4.4.1. If the color field valuec(xsi) of a surfel si is smaller than a user defined minimaliso-value Imin, it is projected onto Imin. This can also be seenas a maximum allowed distance to the particles.

    External Constraints. External constraints are used in ourcase to restrict the surface to a certain area, for exam-ple when doing collision detection with an obstacle (e.g. aglass). During collision detection we only consider the par-ticles. Therefore it can happen that surfels still penetrate theobstacle although the particles do not. Surfels which pene-trate the obstacle are projected back onto the colliding ob-ject. This projection is performed (if necessary) after eachsurface deformation iteration. Because of the smoothing po-tential the surface remains smooth at the border of the pro-jected surfels.

    4.3. ResamplingResampling is important to adapt the number of surfels whenthe surface is stretched or compressed. Each time beforea force (Sec. 4.2.2) is computed, we test if the number ofneighbors |Si| of a surfel si is smaller or larger than a mini-mum or maximum threshold, respectively. In the former casethe number of missing neighbors are randomly distributedaround si, where the new surfels inherit the neighbors of si.A neighbor update is then performed for the new surfels and

    c© The Eurographics Association 2005, to appear.

  • Keiser et al. / A Unified Lagrangian Approach to Solid-Fluid Animation

    split

    merge

    Figure 3: Top row: When a surfel is outside the minimal iso-value it is projected onto it. Flood filling over all the surfelsresults in the construction of separated components. Bottomrow: Merging is performed by detecting and removing col-liding surfels from different components.

    the neighbors of si. If the number of neighbors is too large,we delete the surfel and remove it from all its neighbors. Wemake the neighbor thresholds dependent on the radius of asurfel. Assume that all surfels have the same radius rs andthat the surfels are distributed uniformly, i.e. they lie on ahexagonal grid. Then a distance between two neighbors onthis grid equal or smaller than rs guarantees a hole-free sur-face. Therefore, we choose 6hss/rs as the minimum thresholdand 9hss/rs as the maximum threshold.

    This resampling scheme is also used to create an initialsurface enclosing the particles, e.g. when using a source.At each particle position we create a surfel. These surfelsare projected onto the implicit surface by setting the surfaceconstants kimpl = 1 and kattr = ksmooth = 0. Performing afew steps of surface deformation with resampling yields oneor more closed surface components. Finally, the surface con-stants are reset to the user values. Applying the surface de-formation scheme yields the final surface.

    4.4. Topological ChangesBy recomputing the neighborhood and using the forces andconstraints described above, the surface implicitly handlestopological changes such as disjoint components and merg-ing (see Fig. 3). The implicit constraint ensures that a (lo-cally) stretched surface is always split even if the implicitforce weight is chosen to be small. Furthermore, two inter-secting surface components are merged automatically by re-computing the surfel neighborhood and the applied forces.A well known problem of handling topological changes im-plicitly is that two surface components will blend rather thancollide, i.e., they are merged before they intersect whichresults in considerable artifacts. Therefore, we suggest amethod to detect disjoint surface components similar to theblending graph described in [DC95]. These are then handledas separated objects. We show how intersecting separatedobjects are merged.

    4.4.1. SplittingTo detect two disjoint components of a surface, we performa flood-fill over all surfels using restricted surfel neighbor-hoods Sresti after having deformed the surface. A neighbor

    s j ∈ Ssubi is added to Sresti if the angle between its normal

    and the normal of si is smaller than a threshold (we chooseπ/4). Starting with an arbitrary surfel si, we add si and thesurfels in Sresti to a set S

    sep. The neighbors of the restrictedneighborhood of the surfels in Sresti are then added recur-sively to Ssep, until no neighbors are left. This procedure isrepeated (with new sets) as long as there are surfels which donot belong to a set yet. By tagging surfels which belong toa set already, the detection can be done in linear time to thenumber of surfels assuming a constant maximum number ofneighbors.

    After separating the surfels we assign the particles to theappropriate set by performing an inside/outside test similarto [PKKG03]. A particle is added to a set if it is inside thesurface represented by the surfels. Each set then builds a sep-arated surface component. The surfel neighbors Si and theparticle neighbors Pi of a surfel si are always computed fromthe surfel and particle set of its separated component.

    4.4.2. MergingWhen two disjoint components intersect they either need tobe merged or contact handling has to separate them. Formerging we require that not only the surfaces intersect, butalso that at least one particle is inside the other surface. Thisguarantees that the surfaces are merged smoothly.

    We first compute a bounding box for each object surfacepart (see Fig. 3). From two intersecting bounding boxes, thecolliding particles can be efficiently computed [KMH∗04].If we find a set of colliding particles, we also compute thecolliding surfels which are deleted before we merge thetwo separated objects again. The surfel neighborhoods arethen recomputed and the separated objects merge smoothlythrough the acting surface forces. Note that this way weavoid the unnatural blending typically arising when usingthe implicit function for merging, i.e., we avoid the blendingof two separated surface parts before they intersect.

    When merging is not appropriate, collision responseforces could be applied to separate the colliding surfacecomponents, similar to [KMH∗04].

    4.5. Blending Between Solids and FluidsWhile solids might have a very detailed surface, fluid sur-faces are usually rather smooth. The particles account forthis by surface tension. However, to smooth the surface thisis not sufficient. Assume we start with a highly detailed solidwhich melts. In this case we expect the detail to disappear.On the other hand if we freeze a fluid, the existing detailshould be preserved.

    If we only apply the surfel displacement according to theparticles as described in Sec. 4.2.1, all the detail is preserved,but if we additionaly update the surface using the potentialfields as described in Sec. 4.2.2, the detail vanishes and thesurface huddles against the particles. To get a smooth transi-tion between solids and fluids, we perform both approachesand blend between them, similar to [MKN∗04].

    c© The Eurographics Association 2005, to appear.

  • Keiser et al. / A Unified Lagrangian Approach to Solid-Fluid Animation

    Assume that after particle animation, a surfel si is dis-placed to the position xsi . Let x′si be the positions afte ap-plying the surface deformation forces and constraints. Weget the blended position xblendsi and normal n

    blendsi by sim-

    ple interpolation: xblendsi = (1− βi)xsi + βix′si and n

    blendsi =

    ((1−βi)nsi +βin′si)/‖(1−βi)nsi +βin′si‖.

    For melting and freezing, we use the temperature Tsi as ablending factor (see Sec. 3.3). The temperature of a surfelis approximated from the neighboring particles, i.e., Tsi =

    ∑p j∈Pi ωhpsxsi ,xp j Tp j . The normalized temperature is then used

    as a transition factor, i.e., βi = (Tsi −T min)/(T max −T min),where T max and T min are the temperature thresholds de-scribed in Sec. 3.3.

    5. ResultsWe tested our physics framework and the surface generationwith a variety of examples. Fig. 4 shows the simulation ofa pure fluid, i.e., Young’s Modulus E is set to 0 and vis-cosity µ to 5. The surface is smooth and encloses the parti-cles tightly. As also shown in the accompanying video, oursurface is able to handle all topological changes like split-ting, merging and self-intersections of the surface. Mergingof disjoint surface components prevents from blending twocomponents before they intersect (see Sec. 4.4.2), resultingin less artifacts compared to implicit merging.

    The example shown in Fig. 5 exploits the possibilities ofour physics framework with the incorporated Navier-Stokesequations. It shows a quicksilver-like fluid which is pouredinto a glass. While it is flowing, we decrease the tempera-ture of all particles within 10 iterations from T max to T min.Therefore, the fluid freezes to an elastic solid with stiffnessE = 5e5Nm−2. At the same time we remove the glass. Thefreezed fluid elastically bounces onto the ground where itsplits.

    Finally, different melting behaviors are shown in Fig. 6and 7 (images taken at corresponding timesteps). We startwith an elastic bust of the Nefertitis (57k surfels) which isdropped onto a heated box. When a particle collides withthe box, its temperature increases with a constant value anddiffuses to the other particles. The temperature locally af-fects the stiffness, plasticity, viscosity and surface tensionof the object as described in Sec. 3.3. Therefore, upon col-lision the model starts melting. Depending on the heatingtransfer parameters, the temperature of the heating box andthe maximal viscosity, the model shows different melting be-haviors. In Fig. 6, the box has a temperature of 8000◦C andwe choose kheat = 0.3. The particles heat up very quickly,resulting in a splashing fluid with low viscosity µ = 5. In theanimation of Fig. 7 the box’s temperature is set to 4000◦Cand kheat is set to 0.04. The model first bounces elasticallyand then slowly melts to a viscous fluid (µ = 10). Note thatthe surface detail is still preserved even though large parts ofthe model are already liquid. The phase state of the Nefertitisis color coded from blue for solid to red for fluid.

    Animation Particles/Surfels Physics Surface fps

    Fluid 3k/3.4k 0.13 s 1.3 s 0.7Freezing 2.4k/3.4k 0.4 s 1.2 s 0.5Melting 1 3.9k/60k 3.2 s 22 s 0.03Melting 2 3.9k/56k 3.1 s 20 s 0.03

    Table 1: Average timings of our system running on a 3 GHzPentium 4 with a GeForce FX GPU. Timings are shown forone physics animation step and one surface deformation it-eration step, followed by the resulting frame rate for all thesequences presented in this paper.

    In our examples, the physics animation runs in interactivetime with 2400 to 3900 particles, see Table 1. The perfor-mance of the surface generation algorithm depends on thesurface resolution and the surfel neighborhood radius hss. Forthe fluid example shown in Fig. 4 (average number of 3.4ksurfels) our algorithm needs on average 1.3s per iterationstep. For the same example with smaller neighborhood (av-erage number of 1.2k surfels) the animation runs with 1.5fps. We use a low resolution surface for interactive anima-tions and prototyping and increase the resolution for makingproduction animations. Interactive rendering is achieved us-ing surface splatting on the GPU [BK03]. The pictures in thepaper and the video were created with the open-source ren-derer POV-Ray (http://www.povray.org), which we modifiedfor raytracing point-sampled objects [AA04].

    6. Conclusion & Future WorkMerging the continuum mechanics approach for solids pre-sented in [MKN∗04] with the Navier-Stokes equationsproved to be very stable, and indeed did not affect the sta-bility of the pure solid mechanics approach. It allows tomodel a variety of materials which could not be simulatedbefore, like elastic and freezing fluids, and solids which meltto splashing fluids. Melting and freezing are modelled bysimply changing the material parameters.

    Our surface generation approach fits our needs to rep-resent both highly detailed solids and smooth fluids withrapidly changing topology. Surfels showed to be suitableas an explicit representation because no mesh needs to bemaintained. However, there are limitations and possible ex-tensions which we plan to address in future work:

    • We are able to avoid blending artifacts by separating dis-joint surface components and merging them when twocomponents intersect. However, these artifacts still occurwhen surface parts come close which have not been split.Avoiding this is a very difficult problem, that includes thedetection of self-intersections.

    • To represent small drops in a strongly splashing fluid aprohibitive high number of surfels with small radii areneeded. In the future we want to adapt the density of thesurfels depending on whether they lie on a flat or on ahighly curved surface.

    c© The Eurographics Association 2005, to appear.

  • Keiser et al. / A Unified Lagrangian Approach to Solid-Fluid Animation

    • Volume preservation is a well-known problem in SPHbased methods. Furthermore, also our surface generationapproach is not volume preserving. This could be im-proved by adding an additional force which lets the vol-ume shrink or grow, similar to the volume preservationconstraint suggested in [DCG98].

    • So far we use a global termination criterion for the itera-tive integration of the surface forces for surface deforma-tion (see Sec. 4.2.2). Because the forces are defined lo-cally, efficiency could be improved significantly by com-puting and integrating the forces only for surfels si whoseposition changed and for the neighbors of si.

    • In the future we want to allow particles to adaptively splitand merge similar to [DC99]. This poses a challenge forthe surface animation as the surface should not be affectedby the particle resampling.

    • The implicit constraint ensures that largely stretched sur-faces of solids split, resulting in a smoothly closed sur-face. For stiff materials, a fracturing approach as sug-gested in [PKA∗05] would produce more realistic lookingresults.

    Acknowledgements. Bart Adams is funded as a ResearchAssistant by the Fund for Scientific Research - Flanders,Belgium (F.W.O.-Vlaanderen). Thanks to Miguel Otaduy forhelpful comments.

    References[AA04] ADAMSON A., ALEXA M.: Approximating bounded, non-orientable sur-

    faces from points. In Proc. of Shape Modeling International (2004). 2, 8

    [AD03] ADAMS B., DUTRE P.: Interactive boolean operations on surfel-boundedsolids. ACM Trans. Graph. 22, 3 (2003), 651–656. 2

    [BK03] BOTSCH M., KOBBELT L.: High-quality point-based rendering on moderngpus. In Proc. of Pacific Graphics 2003 (2003), pp. 335–343. 2, 8

    [Bli82] BLINN J. F.: A generalization of algebraic surface drawing. ACM Trans.Graph. 1, 3 (1982), 235–256. 5

    [CMT04] CARLSON M., MUCHA P. J., TURK G.: Rigid fluid: animating the interplaybetween rigid bodies and fluid. ACM Trans. Graph. 23, 3 (2004), 377–384.2

    [CMVT02] CARLSON M., MUCHA P., VAN HORN III B., TURK G.: Melting and flow-ing. In Proc. of the ACM SIGGRAPH Symposium on Computer Animation(2002). 2

    [Coh91] COHEN L. D.: On active contour models and balloons. CVGIP: ImageUnderst. 53, 2 (1991), 211–218. 5

    [DC95] DESBRUN M., CANI M.-P.: Animating soft substances with implicit sur-faces. In Computer Graphics Proceedings (1995), ACM SIGGRAPH,pp. 287–290. 2, 7

    [DC96] DESBRUN M., CANI M.-P.: Smoothed particles: A new paradigm for ani-mating highly deformable bodies. In 6th Eurographics Workshop on Com-puter Animation and Simulation ’96 (1996), pp. 61–76. 2, 3, 4

    [DC99] DESBRUN M., CANI M.-P.: Space-Time Adaptive Simulation of Highly De-formable Substances. Tech. rep., INRIA Nr. 3829, 1999. 9

    [DCG98] DESBRUN M., CANI-GASCUEL M.-P.: Active implicit surface for anima-tion. In Proc. of Graphics Interface (1998), pp. 143–150. 2, 5, 9

    [ELF04] ENRIGHT D., LOSASSO F., FEDKIW R.: A fast and accurate semi-lagrangianparticle level set. 479–490. 2

    [EMF02] ENRIGHT D., MARSCHNER S., FEDKIW R.: Animation and rendering ofcomplex water surfaces. In SIGGRAPH: Proc. of the 29th annual conferenceon Computer graphics and interactive techniques (2002), pp. 736–744. 2

    [FF01] FOSTER N., FEDKIW R.: Practical animation of liquids. In SIGGRAPH ’01:Proc. of the 28th annual conference on Computer graphics and interactivetechniques (2001), pp. 23–30. 2

    [GBO04] GOKTEKIN T. G., BARGTEIL A. W., O’BRIEN J. F.: A method for an-imating viscoelastic fluids. In Proc. of ACM SIGGRAPH (2004), vol. 23,pp. 463–468. 2, 3

    [KMH∗04] KEISER R., MÜLLER M., HEIDELBERGER B., TESCHNER M., GROSS M.:Contact handling for deformable point-based objects. In Proc. of Vision,Modeling, Visualization VMV (Nov 2004), pp. 339–347. 7

    [KWT88] KASS M., WITKIN A., TERZOPOULOS D.: Snakes: active contour models.International Journal of Computer Vision 1, 4 (1988), 321–331. 4

    [LS81] LANCASTER P., SALKAUSKAS K.: Surfaces generated by moving leastsquares methods. Mathematics of Computation 87 (1981), 141–158. 3

    [MCG03] MÜLLER M., CHARYPAR D., GROSS M.: Particle-based fluid simulation forinteractive applications. In Proc. of the 2003 ACM SIGGRAPH/EurographicsSymposium on Computer animation (2003), pp. 154–159. 1, 2, 3, 4

    [MKN∗04] MÜLLER M., KEISER R., NEALEN A., PAULY M., GROSS M., ALEXA M.:Point based animation of elastic, plastic and melting objects. In Proc. of theACM SIGGRAPH/Eurographics symposium on Computer animation (2004),pp. 141–151. 1, 2, 3, 4, 5, 7, 8

    [Mon92] MONAGHAN J.: Smoothed particle hydrodynamics. Annu. Rev. Astron. andAstrophysics 30 (1992), 543. 2, 3

    [MSHG04] MÜLLER M., SCHIRM S., HEIDELBERGER B., GROSS M.: Interaction offluids with deformable solids. In Computer Animation and Virtual Worlds(CAVW) (2004), pp. 159–171. 3

    [OBH02] O’BRIEN J. F., BARGTEIL A. W., HODGINS J. K.: Graphical modeling andanimation of ductile fracture. In Proc. of SIGGRAPH (2002), pp. 291–294.3

    [OS88] OSHER S., SETHIAN J. A.: Fronts propagating with curvature-dependentspeed: algorithms based on hamilton-jacobi formulations. J. Comput. Phys.79, 1 (1988), 12–49. 2

    [pba04] Point-based animation. http://www.pointbasedanimation.org, 2004. 2

    [PGK02] PAULY M., GROSS M., KOBBELT L. P.: Efficient simplification of point-sampled surfaces. In Proc. of the conference on Visualization (2002), IEEEComputer Society, pp. 163–170. 6

    [PKA∗05] PAULY M., KEISER R., ADAMS B., DUTRÉ P., GROSS M., GUIBAS L. J.:Meshless animation of fracturing solids. In Proc. of ACM Siggraph (2005).To appear. 3, 9

    [PKKG03] PAULY M., KEISER R., KOBBELT L. P., GROSS M.: Shape modeling withpoint-sampled geometry. In Proc. of ACM Siggraph (2003), pp. 641–650. 2,5, 7

    [SAC∗99] STORA D., AGLIATI P.-O., CANI M.-P., NEYRET F., GASCUEL J.-D.: An-imating lava flows. In Proc. of Graphics Interface (1999), pp. 203–210. 2,4

    [ST92] SZELISKI R., TONNESEN D.: Surface modeling with oriented particle sys-tems. In SIGGRAPH ’92: Proc. of the 19th annual conference on Computergraphics and interactive techniques (1992), pp. 185–194. 2

    [Sta99] STAM J.: Stable fluids. In SIGGRAPH: Proc. of the 26th annual conferenceon Computer graphics and interactive techniques (1999), pp. 121–128. 2

    [TF88] TERZOPOULOS D., FLEISCHER K.: Modeling inelastic deformation: vis-colelasticity, plasticity, fracture. In Proc. of the 15th annual conference onComputer graphics and interactive techniques (1988), ACM Press, pp. 269–278. 2, 3

    [THM∗03] TESCHNER M., HEIDELBERGER B., MÜLLER M., POMERANERTS D.,GROSS M.: Optimized spatial hashing for collision detection of deformableobjects. In Proc. Vision, Modeling, Visualization VMV (2003), pp. 47–54. 4

    [Ton91] TONNESEN D.: Modeling liquids and solids using thermal particles. InGraphics Interface (June 1991), pp. 255–262. 2

    [TPBF87] TERZOPOULOS D., PLATT J., BARR A., FLEISCHER K.: Elastically de-formable models. In Computer Graphics Proceedings (July 1987), AnnualConference Series, ACM SIGGRAPH 87, pp. 205–214. 2

    [TPF89] TERZOPOULOS D., PLATT J., FLEISCHER K.: Heating and melting de-formable models (from goop to glop). In Graphics Interface (1989), pp. 219–226. 2

    [WH94] WITKIN A. P., HECKBERT P. S.: Using particles to sample and controlimplicit surfaces. In Computer Graphics Proceedings (1994), ACM SIG-GRAPH, pp. 269–277. 2

    [ZPKG02] ZWICKER M., PAULY M., KNOLL O., GROSS M.: Pointshop 3d: an in-teractive system for point-based surface editing. In Proceedings of the 29thannual conference on Computer graphics and interactive techniques (2002),pp. 322–329. 2

    [ZPvG01] ZWICKER M., PFISTER H., VAN BAAR J., GROSS M.: Surface splatting.In Proceedings of the 28th annual conference on Computer graphics andinteractive techniques (2001), pp. 371–378. 2

    c© The Eurographics Association 2005, to appear.

  • Keiser et al. / A Unified Lagrangian Approach to Solid-Fluid Animation

    Figure 4: Pouring a pure fluid into a glass.

    Figure 5: Freezing a quicksilver fluid which is poured into a glass. After removing the glass, the elastic solid bounces onto theground and fractures.

    Figure 6: An elastic solid is dropped onto a heated box and melts to a splashing fluid due to the quick heat transfer.

    Figure 7: An elastic solid is dropped onto a heated box and slowly melts to a viscous fluid.

    c© The Eurographics Association 2005, to appear.


Recommended