A Simple Physically-Based 3D Liquids Surface Tracking Algorithm

A Simple Physically-Based 3D Liquids Surface Tracking Algorithm

Gonçalo N. P. Amador (Universidade da Beira Interior, Portugal) and Abel J. P. Gomes (Instituto de Telecomunicações, Portugal)
DOI: 10.4018/978-1-4666-0285-4.ch019


Navier-Stokes-based methods have been used in computer graphics to simulate liquids, especially water. These physically based methods are computationally intensive, and require rendering the water surface at each step of the simulation process. The rendering of water surfaces requires knowing which 3D grid cells are crossed by the water’s surface, that is, tracking the surface across the cells is necessary. Solutions to water surface tracking and rendering problems exist in literature, but they are either too computationally intensive to be appropriate for real-time scenarios, as is the case of deformable implicit surfaces and ray-tracing, or too application-specific, as is the case of height-fields to simulate and render water mantles (e.g., lakes and oceans). This paper proposes a novel solution to water surface tracking that does not compromise the overall simulation performance. This approach differs from previous solutions in that it directly classifies and annotates the density of each 3D grid cell as either water, air, or water-air (i.e., water surface), opening the opportunity for easily reconstructing the water surface at an interactive frame rate.
Chapter Preview


Visual plausibility is the ultimate goal in liquid simulations, and has been one of the biggest challenges in computer graphics since the mid of 1960’s (Iglesias, 2004; Tan & Yang, 2009). In fact, the realistic simulation of water is necessary in the production of movies, animation systems, video games, and virtual environments. Currently, there are three major approaches for the simulation of liquids, those that resort to the physical principles that govern fluids motion (i.e., Navier-Stokes equations), those that are simplifications or approximations of the Navier-Stokes equations (i.e., Euler equations, Swallow Water equations, and the Lattice Boltzmann Method), and those that solely represent the geometry of the water mantles with no physical simulation whatsoever (i.e., procedural methods).

The focus of this paper is on the Navier-Stokes-based simulation of liquids. Depending on how the evolution of the liquid is observed in time and space, a Navier-Stokes-based simulation can be classified as either Eulerian or Lagrangian. In computer graphics, the Navier-Stokes-based simulation of a liquid consists in an alternate sequence of two steps: physically-based simulation and surface rendering. To achieve this, the Navier-Stokes-based simulation and rendering of a liquid requires the tracking and reconstruction of its surface somewhere in the overall simulation pipeline. Solutions addressing these tracking and reconstruction problems already exist (Enright & Fedkiw, 2002; Enright et al., 2002; Fleck, 2007; Müller, 2009). However, these techniques have the disadvantage of being computationally intensive, that is, they negatively affect the overall frame rate of simulation, making them inappropriate for real-time simulations.

Within the family of Lagrangian methods (i.e., particle approach) we find two major methods, that had their origins in computational fluid dynamics, to model the shape of liquids, namely: the Smoothed Particle Hydrodynamics (SPH) (Müller et al., 2003; He et al., 2010; Maruzewski et al., 2010), and the Moving Particle Semi-Implicit (MPS) method (Premoze, 2003; Yamamoto, 2009). These models use two different approaches to approximate the solution of partial differential equations, as those used to solve the Navier-Stokes equations. In both methods, a smooth kernel is assigned to each particle (i.e., liquid element). After each physical simulation time step, within which tracking is also done, those kernels are used to identify and reconstruct the elements that are isolated liquid particles or regions of multiple liquid particles. Lagrangian methods allow for complex water effects such as splashes, spray, or puddles. However, large water mantles require prohibitive amounts of particles, in terms of computation and memory resources.

When the simulation is limited to water mantles (e.g., ocean surface near shore, rivers, and pounds), it is enough to use procedural methods (Belyaev, 2003) or simplified Eulerian methods (e.g., Shallow Water Equations (SWE) (Miklós, 2004; de la Asunción et al., 2010), Euler equations (Fedwik, 2002; Elsen et al., 2008), or 2D Navier-Stokes (Stam 2002, 2003a, 2003b; Elcott et al., 2007) together with height-fields (Miklós, 2004; Baboud & Décoret, 2006). Note that height-fields only allow the representation of water mantles for one liquid, that is, no multiphase liquid simulation can be performed with them. Regardless of all these issues, the physical simulation is the most costly computation part of any liquid simulation in terms of time performance, in part because of the calculations carried out by linear solvers to solve the Navier-Stokes equations (Amador & Gomes, 2010a, 2010b). Therefore, simplified Eulerian methods constitute an attempt to reduce the time spent with the physical simulation, thus providing more time for the surface tracking, reconstruction and/or direct rendering.

Complete Chapter List

Search this Book: