Aims and Scope |
Physically-based simulation of the flow
Large-scale geometry of the flow surface
Rendering lava crust
Publications and related works
Motivation: Natural Phenomena |
Aim: Visually-realistic animation of lava flows.
Difficulty: Both viscosity and surface aspect depend on temperature. They should vary consistently over time.
Our approach consists in using two completely different scales for computing large scale motion and deformation of the flow on one hand (see Physically-based simulation), and for modelling lava-crust surface details on the other hand (see Rendering lava crust).
We use smoothed particles for computing the physically-based
animation of the fluid. This model, where particles are governed
by a state equation, was developped by
Mathieu Desbrun during his PhD.
We extended this model in order to introduce a temperature parameter and to model both heat transfers inside the material and transfers with the exterior (air, ground).
Mass-density is constant, while viscosity exponentially increases when temperature decreases.
A specific data-structure is used for computing particles interaction forces in quasi-linear time.
An Implicit Surface generated by the particles is used for
associating a surface to the flow.
The implicit surface is tiled into Voronoi regions associated with the projection onto the surface of flow particles that lay near the interface with the air or with the ground.
The particles represent a scale
about one meter or one decameter large.
To represent smaller scale, we build a 3D dressing,
very detailed but purely qualitative, which adds
appearance realism to motion realism.
The purpose is to figure a lava surface that is initially liquid and smooth, which becomes more rough with time. Then more rigid islands (solidified foam) progressively appear on it, and grow with time by aggregating, up to joining each others. Once the crust is solidified, these islands appear as large stones conveyed by the deep lava river, which finaly stop when the thickness of the rigid crust prevents for any motion (even if the heart is still ductile).
We choose to associate an island to each particle of the motion simulation.
As stated above, we define a flow surface, on which we project the
particles of the external layer.
The Voronoi diagram of these points defines the islands.
An island thus corresponds to a set of triangles, whose one vertex
is at the island center (i.e. on a surface particle)
and the two others are on the border.
Thus we just have to build a single lava crust rendering primitive
to draw this triangle.
This primitive has an analytical component, which models an ideal
stone profile (high at the center, low on the border),
and a stochastic component which figures the surface roughness,
obtained by the use of Perlin noise.
The parameters of these two components depend of the temperature,
which is known at the vertices (the roughness increase with viscosity,
the stone profile appears progressively).
A constraint is that these `3D' triangles have to join on
a continous way for height and normals, despite they are defined
using different frames.