Graphics Reference
In-Depth Information
In addition, it has a slope of one at its radius of influence, allowing it to blend smoothly with other
primitives. A commonly used density function is a sixth degree polynomial in terms of distance that
the point is from the center, but a third degree polynomial in terms of distance-squared, thus avoiding
the cost of the square root of the distance calculation (Eq. 8.27 ). The implicit function for the cloud is a
weighted sum of these individual implicit functions (Eq. 8.28 ). See Chapter 12.1 for more discussion on
implicit functions and surfaces. The use of these implicit density functions provides the macrostructure
for the cloud formation, allowing an animator to easily form the cloud with simple high-level controls.
6
R
4
R
2
R
4
9
r
17
9
r
22
9
r
FðrÞ¼
6 þ
4
2 þ
1
(8.27)
X
DðpÞ¼
w i Fðjp qjÞ
(8.28)
i
To introduce some pseudorandomness into the density values, the animator can procedurally alter
the location of points before evaluating the density function. This perturbation of the points should be
continuous with limited high-frequency components in order to avoid aliasing artifacts in the result.
The perturbation should also avoid unwanted patterns in the final values.
The microstructure of the clouds is provided by procedural noise and turbulence-based density
function (see Appendix B.6 ). This is blended with the macrostructure density to produce the final
values for the cloud density. Various cloud types can be modeled by modifying the primitive shapes,
their relative positioning, the density parameters, and the turbulence parameters. See Figures 8.10 and
8.11 for examples.
The building-block approach allows the clouds to be animated either at the macro or the micro level.
Cloud migration can be modeled by user-supplied scripts or simplified particle system physics can be
used. Internal cloud dynamics can be modeled by animating the texture function parameters, in the case
of Gardner-type clouds, or turbulence parameters in the case of Ebert.
8.1.3 Modeling and animating fire
Fire is a particularly difficult and computationally intensive process to model. It has all the complex-
ities of smoke and clouds and the added complexity of very active internal processes that produce light
and motion and create rapidly varying display attributes. Fire exhibits temporally and spatially tran-
sient features at a variety of granularies. The underlying process is that of combustion—a rapid chem-
ical process that releases heat (i.e., is exothermic ) and light accompanied by flame. A common example
is that of a wood fire in which the hydrocarbon atoms of the wood fuel join with oxygen atoms to form
water vapor, carbon monoxide, and carbon dioxide. As a consequence of the heated gases rising
quickly, air is sucked into the combustion area, creating turbulence.
Recently, impressive advances have been made in the modeling of fire. At one extreme, the most
realistic approaches require sophisticated techniques from CFD and are difficult to control (e.g., [ 18 ]).
Work has also been performed in simulating the development and spread of fire for purposes of track-
ing its movement in an environment (e.g., [ 2 ] [ 16 ] ). These models tend to be only global, extrinsic
representations of the fire's movement and less concerned with the intrinsic motion of the fire itself.
Falling somewhere between these two extremes, procedural image generation and particle systems pro-
vide visually effective, yet computationally attractive, approaches to fire.
 
Search WWH ::




Custom Search