NATO ASI Series. Vol. F17 Fundamental Algorithms For Computer Graphics Edited by R. A. Earnshaw © Springer-Verlag Berlin Heidelberg 1985
NATO ASI Series. Vol. F17 Fundamental Algorithms For Computer Graphics Edited by R. A. Earnshaw © Springer-Verlag Berlin Heidelberg 1985
NATO ASI Series. Vol. F17 Fundamental Algorithms For Computer Graphics Edited by R. A. Earnshaw © Springer-Verlag Berlin Heidelberg 1985
Richard F. Voss
IDM Thomas J. Watson Research Center
Yorktown Heights, NY 10598 USA
ABSTRACT
Mandelbrot's fractal geometry provides both a description and a mathematical model for
many of the seemingly complex shapes found in nature. Such shapes often possess a re-
markable invariance under changes of magnification. This statistical self-similarity may
be characterized by a fractal dimension, a number that agrees with our intuitive notion
of dimension but need not be an integer. In section I, a series of computer generated and
rendered random fractal shapes provide a visual introduction to the concepts of fractal
geometry. These complex images, with details on all scales, are the result of the simplest
rules of fractal geometry. Their success as forgeries of the natural world has played an
important role in the rapid establishment of fractal geometry as a new scientific discipline
and exciting graphic technique. Section IT presents a brief mathematical characterization
of these forgeries, as variations on Mandelbrot's fractional Brownian motion. The im-
portant concepts of fractal dimension and exact and statistical self-similarity and self-
affinity will be reviewed. Finally, section m will discuss independent cuts, Fourier
filtering, midpoint displacement, successive random additions, and the Weierstrass-
Mandelbrot random function as specific generating algorithms.
Figure C 1, like all of the color illustrations accompanying this article (but collected else-
where in this volume), is an example of a fractal forgery. It is actually composed of three
separate forgeries which will be discussed in more detail below: the fractal landscape in
the foreground, Fig. C2, its fractally distributed craters, Fig. C3, and the generalization
of Brownian motion onto a sphere rising in the background, Fig. C4. The objects re-
presented in the images exist only as arrays of pseudo-random numbers in a computer.
Yet, the resemblance to the real world is unmistakable. My success with these forgeries
and the extent to which they capture some of the essential characteristics of nature is due
to a new branch of mathematics, fractal geometry [1], as conceived and developed by
Benoit Mandelbrot.
"Philosophy is written in this grand book - I mean universe - which stands continuously
open to our gaze, but it cannot be understood unless one first learns to comprehend the
language in which it is written. It is written in the language of mathematics, and its
characters are triangles, circles and other geometrical figures, without which it·is hu-
manly impossible to understand a single word of it; without these, one is wandering
about in a dark labyrinth" .
Galileo was, of course, stating one of the basic tenets of modern science. In order to un-
derstand or simulate nature, one must first comprehend its language. To scientists, na-
ture's languages are mathematics and geometry presents the specific structures for
understanding and manipulating shapes. Galileo was, however, wrong in terms of the
dialect used by much of nature. The inability of the triangles and circles of Euclidean
geometry (the actual dialect to which he referred) to accurately describe the natural
world has been unappreciated until recently. In retrospect it is obvious that, "clouds are
not spheres, mountains are not cones, coastlines are not circles, and bark is not smooth,
nor does lightning travel in a straight line" [Mandelbrot, ref. 1]. Fortunately, there is now
a geometry that is appropriate for the irregular shapes of the real world.
The turn of the century coincided roughly with an upheaval in the world of mathematics.
Minds conceived of strange monsters seemingly without counterpart in nature: Cantor
sets, Weierstrass functions, Peano curves, curves without derivatives and lines that could
fill space. Having once discovered these monsters (and congratulated themselves on a
creativity superior to nature), mathematicians banished the beasts, mostly sight unseen,
to a mathematical zoo. They could imagine no use for, nor interest in, their creations by
natural scientists. Nature, however, was not so easily outdone. As shown by Benoit
Mandelbrot, a mathematician at IBM and Harvard, many of these "monsters" do, in fact,
have counterparts in the real world. illuminated by computer graphics, they have finally
been recognized as some of the basic structures in the language of nature's irregular
shapes: the fractal geometry of nature.
interest to graphic designers and filmmakers for their ability to create new and exciting
shapes and artificial but realistic worlds. Computer graphics has played an important role
in the development and rapid acceptance of fractal geometry as a valid new discipline.
The computer rendering of fractal shapes leaves no doubt of their relevance to nature.
Conversely, fractal geometry now plays a central role in the realistic rendering and
modelling of natural phenomena in computer graphics.
What then are fractals? How are they different from the usual Euclidean shapes? The
answer can be illustrated with one of the early mathematical monsters: the von Koch
snowflake curve (first proposed around 1904). Figure 5 illustrates an iterative or recur-
sive procedure for constructing a fractal curve. A simple line segment is divided into
thirds and the middle third is replaced by two segments forming part of an equilateral
triangle. At the next stage in the construction each of these 4 segments is replaced by 4
new segments with length 1/3 of their parent according to the original pattern. This
procedure, repeated over and over, yields the beautiful von Koch curve shown at the top
of Fig. 5 and demonstrates that the iteration of a very simple rule can produce seemingly
complex shapes with some highly unusual properties. At each stage in its construction
the length of the curve increases by a factor of 4/3. Thus, the limiting curve crams an
infinite length into a finite area of the plane without intersecting itself. The curve has
detail on all length scales. Indeed, the closer one looks, the more powerful the microscope
one uses, the more detail one finds. More important, the curve possesses an exact self-
similarity. Each small portion, when magnified, can reproduce exactly a larger portion.
The curve is said to be invariant under changes of scale.
This property of self-similarity or scaling is one of the central concepts of fractal geom-
etry. It is closely connected with our intuitive notion of dimension. An object normally
considered as one-dimensional, a line segment, for example, also possesses a similar
scaling property. It can be divided into N identical parts each of which is scaled down
by the ratio r= liN from the whole. Similarly, a two-dimensional object, such as a square
in the plane, can be divided into N self-similar parts each of which is scaled down by a
factor r= 1IN I 12. A three-dimensional object like a solid cube may be divided into N
little cubes each of which is scaled down by a ratio r=1/N I /3. With self-similarity the
generalization to fractal dimension is straightforward. A D-dimensional self-similar ob-
ject can be divided into N smaller copies of itself each of which is scaled down by a factor
r where r= 1/N liD or
808
(1.1)
Conversely, given a self-similar object of N parts scaled by a ratio r from the whole, its
fractal or similarity dimension is given by
The fractal dimension, unlike the more familiar notion of Euclidean dimension, need not
be an integer. Any segment of the von Koch curve is composed of 4 sub-segments each
of which is scaled down by a factor of 1/3 from its parent. Its fractal dimension D =
log(4)/log(3) or about 1.26.... This non-integer dimension, greater than one but less
than two, reflects the unusual properties of the curve. It somehow fills more of space than
a simple line (D= 1), but less than a Euclidean area of the plane (D=2). Mandelbrot[l]
gives many variations of the von Koch construction. As D increases from 1 toward 2 the
resulting "curves" progress from being "line-like" to "filling" much of the plane. Indeed,
the limit D-2 gives a Peano or "space-filling" curve. Although the von Koch curve has
a fractal dimension D = log(4)/log(3), it remains a "curve" with a topological dimension
of one. The removal of a single point cuts the curve in two pieces.
statistical self-simllarity
Although objects in nature rarely exhibit exact self-similarity, they do often possess a
related property, statistical self-similarity. Perhaps the simplest example is a coastline.
As with the von Koch curve, the closer one looks at a coastline, the more detail one sees.
In a measurement of the length of a coastline, the more carefully one follows the smaller
wiggles, the longer it becomes. A drive along a coast highway is shorter than a walk along
the beach. Moreover, each small section of a coastline looks like (but not exactly like)
a larger portion. This concept of statistical self-similarity can also be quantified in terms
of fractal dimension as above. When using a ruler of size r to measure a coastline's
length, the total length equals the ruler size r x the number of steps of size r, N(r), taken
in tracing the coast
LENGTH = r x N(r).
As with the snowflake, N(r) varies on the average as 1/rD and
The variation of apparent coastline length with ruler size has been studied by Richardson
as summarized in [1]. Real coastlines can, in fact, be characterized by fractal dimensions
D of about 1.15 to 1.25, close to the log(4)/log(3) of the von Koch curve.
809
The property that objects can look statistically similar while at the same time different in
detail at different length scales, is the central feature of all of the random fractal forgeries
presented here. Figure 6 shows a series of views, at increasing magnification, of a com-
puter generated fractal landscape with just such a statistically self-similar coastline. The
upper left image shows a section of the landscape. A small portion, outlined by a black
box, is then magnified to fill the second frame. In each succeeding frame a portion about
the coastline, indicated by a small box, is magnified to fill the next frame. The total
magnification is given above each frame. This zooming process can be continued indef-
initely. In Fig 6. the magnification is carried to a total of more than 16 million and the
final frame repeats the starting view. Each frame is clearly a magnification of a portion
of the previous, yet each frame also looks like a different part of the same landscape at
the same magnification. This is the statistical self-similarity of a random fractal. It is
random in the sense that (unlike the von Koch curve) a large scale view is insufficient to
predict the exact details of a magnified view. The way in which the detail varies as one
changes length scale is once again characterized by a fractal dimension. The irregular
fractal surface is more than a simple surface (D=2) and the sample shown in Fig. 6 has
D=2.2. The fractal dimension of the coastline is one less than that of the surface itself.
Here the coastline D= 1.2.
Mandelbrot landscapes
For the idealized Mandelbrot fractal landscape of Fig 6. the statistical self-similarity
extends from arbitrarily large to arbitrarily small scales. Actual landscapes, on the other
hand, can be statistically self-similar only over a finite (but often quite large) range of
distances. The largest variations may be limited by the size of the planet or the force of
gravity (the materials may not be strong enough to support arbitrarily high mountains).
The smallest scales may be limited by the smoothing of erosion, the basic grain size of the
rock and sand or, at the very least, by the atomic nature of the particles. The mathemat-
ical ideal is an approximation to the real world (or vice versa to some mathematicians).
Mandelbrot's fractal geometry, however, remains by far the best approximation and, to
date, the most widely successful mathematical model.
As discussed below, almost all algorithms for generating the fractal landscapes effectively
add random irregularities to the surface at smaller and smaller scales similar to the proc-
ess of adding smaller and smaller line segments to the von Koch curve. Once again, the
fractal dimension determines the relative amounts of detail or irregularities at different
distance scales. Surfaces with a larger D seem rougher. This effect is illustrated in Fig.
C7 which shows the "same" surface but with different fractal dimensions. Figure C7(a)
810
has a relatively low fractal dimension for the surface, D = 2.15, that is appropriate for
much of the earth. An increase in the fractal dimension to D=2.5 is shown in Fig C7(b).
A further increase to D=2.8 in Fig. C7(c) gives an unrealistically rough surface for an
actual landscape. Fractal geometry specifies only the relative height variations of the
landscape at different length scales. For the samples given here the color changes were
based on height above water level and local slope.
The image in Fig. C7(a) does not, however, resemble many of the valleys on the Earth's
surface which are significantly eroded. A flat bottomed basin can, however, be approxi-
mated mathematically by simply taking the height variations and scaling them by a
power-law. This process is illustrated in Fig. C7(d) where the original landscape of Fig.
C7(a) is "cubed". The effect of such a power greater than 1 is to flatten the lower ele-
vations near near the water emphasizing the peaks. Scaling with a power less than one
has the opposite effect of flattening the peaks while increasing the steepness near the
water. A cube-root processing of Fig. C7(a) is shown in Fig. C7(e). This forgery gives
the impression of river erosion into an otherwise fairly smooth plain.
In order to give the impression of a lunar landscape, as shown in the foreground of Fig.
1, it is necessary to add craters to the "virgin" fractal landscape of Fig C7(a). Each
crater is circular with a height profile similar to the effect of dropping marbles in mud.
The trick in achieving realism is to use the proper distribution of crater sizes. For the
moon, the actual distribution is fractal or power-law, with many more small craters than
large ones. Specifically, the number of craters having an area, a, greater than some
number A, N(a>A) varies as 1/A. The computer simulation is shown in Fig. C3. This
is the same surface that forms the foreground of Fig. Cl.
Rather than add increasing detail at progressively smaller scales, the rising fractal planet
in Fig. CI was generated by a different algorithm that is closer to an actual model for the
evolution of the earth's surface. Its surface is a generalization of Brownian motion or a
random walk on a sphere. A random walk is the sum of many independent steps, and the
sphere's surface becomes the result of many independent surface displacements or faults.
Each fault encircles the sphere in a random direction and divides it into two hemispheres
which are displaced relative to each other in height. Inside the computer, the surface of
the sphere is mapped onto a rectangular array similar to a flat projection map of the earth.
Figure C8(a) shows the surface variations, as represented by regions of different color,
811
both for the full and the flattened sphere after only 10 random faults. After 60 faults in
Fig. C8(b), the flattened sphere gives the impression of a cubist painting. With 750
faults in Fig. C8(c), the sphere has developed a localized land mass and the effects of an
individual fault are becoming lost. After more than 10,000 faults and the addition of
polar caps in Fig C8(d), the sphere's surface becomes a plausible planet with D=2.5.
Mapping the data of Fig. C8(d) back onto a sphere gives the fractal planet in Fig. 1 or
the enlarged view of the rotated sphere shown in Fig. C8(e). Remarkably, the same
sphere is also a good forgery of a much more arid generic planet. Fig. C8(e) shows the
same data but with different coloring and without water.
Up to now the fractal forgeries have been pretentious surfaces. The addition of irreg-
ularities on smaller and smaller scales raise their dimensions above a topological value
of 2 to a fractal value 2<D<3. It is, however, also possible to generate fractals with a
topological dimension 3 whose scaling irregularities raise the fractal dimension to
3<D<4. Rather than landscapes, which consist of random heights as a function of
2-dimensional surface position, such objects might represent a random temperature or
water vapor density as a function of 3-dimensional position. The simplest means of
viewing such constructions is with their zerosets (equivalent to the coastlines of the fractal
landscapes) as shown in Fig. C9. For a temperature distribution T(x,y,z) with fractal di-
mension 3<D<4, the zerosets are all points for which T(x,y,z)-To = 0 and have a fractal
dimension of D-l. They can be displayed by treating all points for which T(x,y,z»To
as opaque while all others are transparent. The resulting fractal flakes are shown in Fig.
C9(a) where D-l=2.5 and'Fig. C9(b) where D-l=2.2. A more accurate display is also
possible by allowing the local light scattering to vary as T(x,y,z). In this case, the flakes
are transformed into realistic looking fractal clouds as shown in Figs C9(c) and (d). The
correspondence to actual clouds is not surprising. Clouds and rain areas are the natural
shapes where fractal behavior has been experimentally verified over the widest range of
distance scales[lJ. A combination of such a fractal cloud above a cratered fractal surface
is shown in Fig. C9(e). Here light scattered by the cloud produces shadows of varying
intensity on the landscape.
All of the above forgeries have been based on fractal randomness in space. The com-
puter generated images show, the extent to which simple fractal constructions capture the
essence of natural shapes. Changes in time, however, have many of the same similarities
812
Figure 10(a) shows a white noise, the most random. It could be produced by a pseudo-
random number generator and is completely uncorrelated from point to point. Its spectral
density is a flat line, independent of frequency. Alternately, a white noise contains equal
amounts of all frequencies (like a white light). Figure 10(c) shows a Brownian motion
or a random walk, the most correlated of the three noise samples. It consists of many
more slow (low frequency) than fast (high frequency) fluctuations and its spectral den-
sity is quite steep. It varies as l/f2. Formally, the Brownian motion of Fig. 10(c) is the
integral of the white noise of Fig. lO(a). In the middle, in Fig. 10(b) is an intermediate
type of noise known as 1If noise because of the functional form of its spectral density.
In general, the term llf noise is often applied to any fluctuating quantity V(t) with
Sy(f) varying as 1/fP over many decades with 0.5</3<1.5. Although both white and
1/f2 noise are well understood in terms of mathematics and physics, 1/f noise, whose
origin remains a mystery after more than 60 years of investigation, represents the most
common type of noise found in nature.
There are no simple mathematical models that produce llf noise other than the
tautological assumption of a specific distribution of time constants. Little is also known
about the physical origins of llf, but it is found in many[2] physical systems: in almost
all electronic components from simple carbon resistors to vacuum tubes and all semi-
conducting devices; in all time standards from the most accurate atomic clocks and quartz
oscillators to the ancient hourglass; in ocean flows and the changes in yearly flood levels
of the river Nile[3] as recorded by the ancient Egyptians; in the small voltages measur-
able across nerve membranes due to sodium and potassium flow; and even in the flow
of automobiles on an expressway[4]. 1/f noise is also found in music.
813
fractal music
One of my most exciting discoveries[5,6] was that almost all musical melodies also mimic
l/f noise. Music has the same blend of randomness and predictability that is found in
1/f noise. If one takes a music score and draws lines between successive notes of the
melody one finds a graph remarkably similar in quality to Fig. 10(b). Some of the actual
measured spectral densities for different types of music is shown in Fig. 11. There is little
to distinguish these measurements on widely different types of music from each other or
from the 1/f noise of Fig. 10(b). This type of analysis is surprisingly insensitive to the
different types of music. It emphasizes, instead, the common element in music and sug-
gests an answer to a question that has long troubled philosophers[7]. In the words of
Plato, "For when there are no words (accompanying music), it is very difficult to recog-
nize the meaning of the harmony and rhythm, or to see that any worthy object is imitated
by them". Philosophers generally agreed on the imitative nature of the arts. It seemed
obvious that painting, sculpture or drama imitated nature. But what does music imitate?
The measurements suggest that music is imitating the characteristic way our world
changes in time. Both music and l/f noise are intermediate between randomness and
predictability. Like fractal shapes there is something interesting on all (in this case, time)
scales. Even the smallest phrase reflects the whole.
It is, of course, possible to use fractals, in this case as 1/fP noises, for music as well as
landscape forgery. Fig. 12 shows samples of "music" generated from the three charac-
teristic types of "noise" shown in Fig. 10. Although none of the samples in Fig. 12 cor-
respond to a sophisticated composition of a specific type of music, Fig. 12(b) generated
from 1/f noise is the closest to real music. Such samples sound recognizably musical, but
from a foreign or unknown culture.
Man has always been confronted with a world filled with seemingly complex irregular
shapes and random fluctuations. In the quest for understanding, natural science has
progressed by concentrating primarily on the simplest of systems. In this process, it has
moved away from the direct experience of nature to the electronically instrumented lab-
oratory. After all, who could describe, let alone understand, the profile of a mountain or
the shape of a cloud? With fractal geometry, the quest for scientific understanding and
realistic computer graphic imagery can return to the everyday natural world. As these
forgeries show, nature's complex shapes are only seemingly so.
814
This section presents an expository summary of the major mathematical definitions and
relations used in the random fractal forgeries as condensed from Mandelbrot[I]. When
no other reference is indicated [1] may be assumed as the source.
The most useful mathematical model for the random fractals found in nature has been the
fractional Brownian motion (mm) of Mandelbrot and Wa1lis[1,8]. It is an extension of the
central concept of Brownian motion that played an important role in both physics and
mathematics. Moreover, it forms the basis for all of the forgeries presented here and the
standard by which various generating algorithms may be compared.
A fractional Brownian motion, VH(t), is a single valued function of one variable, t (usu-
ally time). Its increments VH(t2)-VH(tt) have a Gaussian distribution with variance
(0.1)
where the brackets < and> denote averages over many samples of VH(t) and the pa-
rameter H has a value O<H<I. Such a function is both stationary and isotropic. Its mean
square increments depend only on the time difference trtt and all t's are statistically
equivalent. The special value H=I/2 gives the familiar Brownian motion with tJ.V2 a:
tJ.t.
As with coastlines, VH(t) shows a statistical scaling behavior. If the time scale t is
changed by the factor r, then the increments tJ.VH change by a factor~. Formally,
(11.2)
815
Unlike statistically self-similar coastlines, however, a VH(t) trace requires different scal-
ing factors in the two coordinates (r for t but ~ for VH) reflecting the special status of
the t coordinate. Each t can correspond to only one value of VH but any specific VH
may occur at multiple t's. Such non-uniform scaling is known as self-affinity rather than
self-similarity.
logN
or D = - - - (11.3)
log l/r
It is useful to note that the fractal dimension D also characterizes the covering of the set
S by E-dimensional "boxes" of linear size L. If the entire S is contained within one box
of size L max , then each of the N=l/~ subsets will fall within one box of size
L = rLmax' Thus, the number of boxes of size L, N(L), needed to cover S is given by
(11.4)
This definition of box dimension is one of the most useful methods for estimating the
fractal dimension of a given set.
One can also estimate the "volume" or "mass" of the set S by a covering with boxes of
linear size L. If one considers only distances of order L about a given point in S, one
finds a single box of size L with E-dimensional volume L E. If the distance scale about the
same point is increased to Lmax=L/r, one now finds a total of N=l/~=(Lmax/L)D
boxes of the same size boxes. Thus, the mass within a distance Lmax of some point in S,
M(Lmax) = NxM(L) = M(L)x (Lmax/L)D or
The fractal dimension D, thus, also corresponds to the commonly used mass dimension
in physics. Mass dimension also has a strong connection with intuitive notions of di-
mension. The amount of material within a distance L of a point in a one-dimensional
object increases as V. For an E-dimensional object it varies as LE. The mass dimension
is another extremely useful method for estimating the fractal dimension of a given object.
The set S is also self-similar if each of the N subsets is scaled down from the whole by a
different similarity ratio rn. In this case, D is given implicitly by
N
1= L
0=1
(11.6)
which reduces to the familiar result in Eq. (11.3) when all of the rn are equal.
Under an affine transform, on the other hand, each of the E coordinates of x may be
scaled by a different ratio (r!> ... , rE). Thus, the set S is transformed to r(S) with points
at r(x) = (rix!> ... , rExE). A bounded set S is self-affine when S is the union of N dis-
tinct (non-overlapping) subsets each of which is congruent to r(S). Similarly, S is statis-
tically self-affine when S is the union of N distinct subsets each of which is congruent in
distribution to r(S). The fractal dimension D, however, is not as easily defined as with
self-similarity.
The assignment of a fractal dimension D to a self-affine set can be illustrated with a trace
of fractional Brownian motion VH(t) from above. It may be helpful to glance again at
Fig. 10. Consider, for convenience, a trace of VH(t) covering a time span Ilt= 1 and a
vertical range 11VH= 1. VH(t) is statistically self-affine when t is scaled by rand VH is
scaled by r. H. Suppose the time span is divided into N equal intervals each with
Ilt=l/N. Each of these intervals will contain one portion of VH(t) with vertical range
817
Il VH = IltH = l/NH. Since O<H< 1 each of these new sections will have a large vertical
to horizontal size ratio and the occupied portion of each interval will be covered by
IlVH/llt = (l/NH)/(l/N) = N/NH square boxes of linear scale L=1/N. In terms of
box dimension, as t is scaled down by a ratio r= l/N the number of square boxes covering
the trace goes from 1 to N(L) = number of intervals x boxes per interval or
(11.7)
The zeroset of mm is the the intersection of the trace of VH(t) with the t axis, the set of
all points such that VH(t) = O. The zeroset is a disconnected set of points with
topological dimension zero and a fractal dimension Do = D-1 = 1-H that is less than 1
but greater than O. Although the trace of VH(t) is self-affine, its zeroset is self-similar.
The traces of mm such as Fig. 10(c) bear a striking resemblance to a mountainous hori-
zon. The modelling of the irregular Earth's surface as a generalization of traces of mm
was first proposed by Mandelbrot. The single variable t can be replaced by coordinates
x and y in the plane to give VH(x,y) as the surface altitude at position x,y. In this case,
the altitude variations of a hiker following any straight line path at constant speed in the
xy plane is a fractional Brownian motion. In analogy with Eq. (11.1),
(11.9)
Once again, the fractal dimension D must be greater than the topological dimension 2 of
the surface. Here,
The intersection of a vertical plane with the surface VH(x,y) is a self-affine mm trace
with D=2-H, smaller by one than the value of Eq. (11.10). Similarly, the zeroset of
VH(x,y), its intersection with a horizontal plane, also has a fractal dimension Do=2-H.
This intersection, which produces a family of (possibly disconnected) curves, forms the
coastlines of the VH(x,y) landscape. Since the two coordinates x and yare, however,
equivalent, the coastlines of VH(x,y) are self-similar, not self-affine.
818
This generalization of rum can continue to still higher dimensions to produce the self-
affine fractal temperature distribution T(x,y,z) as VH(x,y,z). Here, the temperature var-
iations of an observer moving at constant speed along any straight line path in space
generate a rum and the fractal dimension
The zeroset VH(x,y,z) = constant now gives a self-similar fractal with Do=3-H.
(11.12)
D =E + 1 - H. (11.13)
The zerosets of VH(x) form a statistically self-similar fractal with dimension Do = E-H.
Gy ( T) provides a measure of how the fluctuations at two times separated by T are related.
Gy ( T) and Sy(f) are not independent. In many cases they are related by the Wiener-
Khintchine relation[ 9,10]
819
(11.15)
For a Gaussian white noise Sy(f) = constant and Gy('I") = ~V28('I") is completely un-
correlated. For certain simple power laws for Sy(f), Gy ( '1") can be calculated exactly.
Thus, for
(11.16)
(11.17)
Roughly speaking, Sy(f) ex: l/ffJ corresponds to Gy('I") ex: 'l"l-fJ and a mm with 2H=~-1
from Eqs. (11.1) and (11.17). Thus, the statistically self-affine fractional Brownian func-
tion, VH(i), has a fractal dimension D and spectral density Sy(f) ex: l/ffJ, for the fluctu-
ations along a straight line path in any direction in E-space with
3-~
D = E+I-H = E + - - (II. IS)
2
This result agrees with other[I,S,II] "extensions" of the concepts of spectral density and
Wiener-Khintchine relation to non-stationary noises where some moments may be unde-
fined. Moreover, it provides an extremely useful connection between D, H and ~ for fi-
nite simulations. For H in the range O<H<I, E<D<E+l, and 1<~<3. The value H ~
Although the formal definition of fBm restricts H to the range O<H< 1, it is often useful
to consider integration and an appropriate definition of "derivative" as extending the
range of H. Thus, integration of a mm produces a new mm with H increased by 1, while
"differentiation" reduces H by 1. When H .... 1, the derivative of mm looks like a mm
with H .... O. In terms of spectral density, if V(t) has Sy(f) ex: l/f fJ then its derivative
dV /dt has spectral density f2/ffJ = l/ffJ- 2 . In terms of Eq. (11.19), differentiation de-
creases ~ by 2 and decreases H by 1.
820
Section I established the visual connection between many, seemingly complex, shapes in
the natural world and statistically self-similar and self-affine fractals. Section II reviewed
some of the mathematical considerations and established the relation between fractal
dimension D, the H parameter of mm, and the spectral density exponent /3. This section
discusses various methods for producing a finite sample of mm as a noise (E= 1), a
landscape (E=2), or a cloud (E=3). As with nature itself, this sample will typically be
limited by both a smallest size or resolution A and a largest scale Lmax. Consideration
will be given to sample statistics (mathematically, how well does it approximate mm?),
visual features (does it look natural?) and computation characteristics (how does com-
putation time vary with sample size? can one magnify or extend the sample beyond its
boundaries?). In general, the closer a given algorithm approximates mm, the more "re-
alistic" the resulting image looks. Although no specific consideration will be given to
image rendering, it is important to note that in most cases rendering of a fractal sample
requires far more computation than sample generation. This is particularly true for ren-
dering packages based on Euclidean shapes which have an extremely difficult time with
the "infinite" number of surface patches on a fractal surface.
In the usual definition, Brownian motion, VB(t) = VH(t) for H= 1/2, is the integral of a
Gaussian white noise W(t),
(ill.l)
This latter formulation of Brownian motion is useful since it can be generalized to circles
and spheres to produce the fractal planet of Fig. CS. The time coordinate t may be re-
placed with the angular position (J on a unit circle. A Brownian motion in (J must then
821
have the periodicity that VB(O) = VB(O + 2'11). In this case, VB(O) = It" W(O')dO'.
The P(O) correspond to half circles, P(O)=l for 0<0<'11 and P(O)=O for '11<0<2'11, and
Brownian motion on a circle becomes the summation of independent "half-circles" uni-
formly distributed in OJ,
L
00
L
00
Here, Per - rj) = 1 for r • rj >0 and zero otherwise. The evolution of a Brownian
sphere under this summation process is shown in Fig. C8.
A flat Brownian relief VB(x,y) can similarly be constructed from the addition of ran-
domly placed and randomly oriented faults in the plane. The profile of such a fault cor-
responds to the step function of random amplitude Aj. Such a surface will have a fractal
dimension D=2.S.
The independent addition of such step function faults is extremely expensive computa-
tionally. Each fault requires additions to roughly half of the surface elements. Moreover,
the resulting fractal always corresponds to a fBm with H= 1/2. Nevertheless, the proce-
dure is straightforward and represents, historically, the first[l] method used for produc-
ing fractal landscapes.
The summation in Eq. (III.2) is a special case of Campbell's theorem (1909). Consider
a collection of independent pulses occurring at random times tj corresponding to an av-
erage rate th. Each pulse produces the profile AjP(t-tj). The random function
Vet) = LAjP(t - t), will then have a spectral density[9],
(111.5)
where P(f) is the Fourier transform of pet), P(f) = IP(t)e 27Tiftdt. For normal Brownian
motion, each excitation by the white noise Wet) in Eq. (111.1) produces the step function
822
response P(t) with P(f) ex: l/f and Sy(f) ex: 1/f2. With a suitable power-law choice of
P(t), one can generate an approximation to fBm with any H. In fact, fBm can be put in
a form[I,8] similar to Eq. (III.l),
f(H
1
+ 1/2)
It
-Q()
(t _ t,)H-l/2W (t')dt'.
Thus, fBm can be constructed from independent pulses with response P(t) = t H-1/ 2
corresponding to P(f) ex: 1/fH +1/2 from Eq. (11.16) and Sy(f) ex: l/f 2H + 1 in agreement
with Eq. (11.18). This was the first method used for generating samples of fractional
Gaussian noise and fractional Brownian landscapes. Unless only a few "pulses" or
"faults" are acceptable, this process is, in general, too expensive computationally.
Thus, to generate a l/f f3 noise from a W(t) requires T(f) ex: 1/ff3/ 2 .
(111.6)
where the frequencies fm = m/Nilt for m=O to N/2 - 1. For a fBm sequence with
Sy(f) varying as l/ff3 the coefficients must satisfy
(III. 7)
The relation between f3 and D and H is given by Eq. (11.18) with E= 1. The vm may be
obtained by multiplying the Fourier coefficients of a white noise sequence by l/f/3/2 or
by directly choosing complex random variables with mean square amplitude given by Eq.
823
(ill.7) and random phases. One possible variation sets 1vm 1 = 1/mP/ 2 and only ran-
domizes the phases. With an FFT (Fast Fourier Transform) algorithm the evaluation of
Eq. (ill.6) requires of order NlogN operations[12] to produce a series of N points. As
such it offers a significant improvement over the random cuts described above.
Since the FFT includes all possible frequency components over the range of distance
scales from Ato Lmax=NA it represents an accurate approximation to ffim. It has, how-
ever, several drawbacks. The entire sample must be computed at once and it is difficult
to vary the degree of detail across the sample or to extend the sample across its original
boundaries. In addition, the result is periodic in time, Vn = Vn+N. Such boundary
constraints become more obvious as B ... 3, H ... l, and D ... l. This effect may be reduced
by generating a longer sequence and keeping only a portion (typically 1/4 to 1/2).
Nevertheless, the FFT transform has been used to produce some of the most striking still
images of random fractals (as shown in the ~olor figures).
Although neither the random cuts nor the FFT filtering represent a recursive method of
generating random fractals, the process of adding more and more frequencies is similar
to the construction of the von Koch snowflake. Fig. 13 shows the increasing complexity
in the FFT construction of a ffim sample with H=O.8 as higher frequencies are included.
where r is a point in the xy plane and 8 is_a displacement in the_xy plane. Since all di-
rectio~ in the xy plane are equivalent, S(k) depends only on 1k 1 = k = (ki + k~)1/2
an~ 18 I. For this 8 dependence.!o correspond to the T dependence of <V(t)V(t+T»,
S(k) must vary as 1/k1+P and S(k) ex: Scut(k)/k. The extra factor of k compensates for
the 2 dimensional diffenptial, 2'ITkdk, in the inte~and. For 3 coordinates, the spectral
density of VH(x,y,z), S(k) ex: Scut(k)/k2. and S(k) varying as 1/k2+P produces a 1/fP
noise for a sample VH along any line.
where kq = q/(NA) and kr = r/(NA) are the spatial frequencies in the x and y directions.
For a fBm surface corresponding to f3 = 1 + 2H = 7 -2D, the coefficients vqr must satisfy
(111.8)
The landscapes of Fig. C7 with 2<D<3 were generated with this process.
(III. 9)
with 3<D<4. This method was used to produce the fractal flakes and clouds of Fig. C9.
Consider the approximation to a simple mm,VH(t), where the mean square increment
for points separated by a time ~t= 1 is (J2. Then, from Eq. (Ill), for points separated
by a time t, < 1VH(t)-VH(O) 12> = t 2H X(J2. If, for convenience, VH(O)=O, then the
points at t= ± 1 are chosen as samples of a Gaussian random variable with variance (J2 to
satisfy Eq. (Ill). Given these initial conditions, one defines the midpoints at
(lIll0)
where ~1 is a Gaussian random variable with zero mean and variance ~I that is deter-
mined by the condition that the increments from 0 to ± 1/2 must satisfy Eq. (11.1).
(J 2 (J 2 2
2 _(J_[ 1 _ 2 2H -
~1 = 2H
2]
•
(III.ll)
2
825
The first term is the desired total variance from Eq. (11.1) while the second term repres-
ents the fluctuations already in VH(±I)-VH(O) due to the previous stage. As H+l, ~t
+0, D+ 1, no new fluctuations are added at smaller stages, and VH(t) remains a col-
lection of smooth line segments connecting the starting points. At the second stage,
VH(± 1/4) = 0.5[VH(0) + VH(±1/2)] + ~2 where ~2 has variance
2 ~2 2
~~ = _G_ __1 = _G_[ 1 _ 22H-2l (III. 12)
42H 4 42H
At the nth stage, the length scale has decreased to 1/2n and a random Gaussian variable
~n is added to the midpoints of the (n-l)th stage with variance
(III. 13)
As expected for a fBm, at a length scale r= 1/2n one adds randomness with mean square
variations varying as r2H.
Although' this process does produce a fractal, the result is, unfortunately, not
stationary[I,15] for all H. Once a given point at tj has been determined, its value remains
unchanged in all later stages. All additional stages change t<1j independent from t>1j
and the correlations required of mm with H¢I/2 are not present. More specifically, by
construction, the increments < 1VH(± l)-VH(O) 12> = G 2 . For a stationary process, the
same should be true of all increments with ~t= 1. However, the absence of correlation
across an earlier stage requires that
2
< 1VH(1/2) - VH( -1/2) 12> = 2< 1VH(1/2) - VH(O) 12> = 2 ~H'
2
This gives the desired result G2 only for the H= 1/2 of normal Brownian motion.
degrees to the original and with lattice size 1/.'2. In the second stage, the midpoints of
the new lattice receive a random contribution smaller by 1/(.l2)H from the first stage.
This produces the new square lattice with a scale 1/2 the original. The traces of early
stages are readily visible in Fig. 16. These artifacts, which occur at all stages, can not be
eliminated by local smoothing.
In spite of its mathematical failings, the speed of midpoint displacement, and its ability
to add "detail" to an existing shape make it a useful fractal algorithm for some applica-
tions. To generate N points requires only order N operations. To extend the sequence
by just one point at the smallest scale beyond its original endpoints, however, requires
an additionallog2N operations.
In many respects the non-stationary artifacts of midpoint displacement are similar to the
staircase effect of aliased raster display lines. With midpoint displacement, once deter-
mined, the value at a point remains fixed. At each stage only half of the points are de-
termined more accurately. If one imagines the process of magnifying an actual object,
as the spatial resolution increases all points are determined more accurately. In terms of
the Nyquist sampling theorem, to approximate N real points requires N/2 complex fre-
quencies or N/2 sine and cosine components. When the resolution is doubled to 2N
points, the additional high frequency components alter all of the original values. Mid-
point displacement only adds the additional sine (or cosine) components. Conversely,
in reducing the resolution of an image an anti-aliasing procedure will average over
neighboring pixels. Simply keeping the same value as the center (the equivalent of mid-
point displacement) produces the objectionable staircase edge.
I call the process of adding randomness to all points at each stage of a recursive subdivi-
sion process successive random additions. This enhancement reduces many of the visible
artifacts of midpoint displacement and the generation still requires only order N oper-
ations to generate N points. The computation of the midpoints is the same as midpoint
displacement. The only difference is in the number of random elements. For a sequence
of N elements, N/2 points in the final stage had only one random addition. N/4 points
in the previous stage had 2 random additions. N/8 had 3 and so on. The series converges
to the 2N random additions for the N elements.
The zoom sequence of Fig. 6 was produced with successive random additions. The
artifacts of the square lattice are not as visible as with the midpoint displacement surface
827
of Fig. 15. Figure 16 shows the construction of a mm sequence with H=O.8 by succes-
sive random additions.
With successive random additions, at each stage all points are treated equivalently. This
has the additional advantage that the resolution at the next stage can change by any fac-
tor r<1. For midpoint displacement r must be 1/2. Thus, given a sample of Nn points at
stage n with resolution A, stage n+ 1 with resolution rA is determined by first interpolating
the Nn+l = Nn/r new points from the old values. In practice, this can be accomplished
using either linear or spline interpolation. A random element ~n is then added to all of
the new points. At stage n with scaling ratio r<l, the ~ will have a variance
When l/r is an integer, the generation of a sequence of N points requires order C(r)N
operations. The coefficient C(r) varies as Ln(1 - r)n over the number of stages.
The fractal dimension D for the generated objects is determined only by H, r can be
varied independently. Variations in r change the lacunarity of the fractal. Figure 17 shows
three samples of successive random addition surfaces (all with H=O.8, D=2.2) generated
from differing r. The zoom sequence in Fig. 6 was generated with 1/r=2. As l/r in-
creases to 4 in Fig. 17(a) and 8 in Fig. 17(b) the few characteristic resolutions at which
randomness has been added become visible and the lacunarity increases. As 1/r is de-
creased below 2 to v'2 in Fig. 17(c) the lacunarity decreases and the surfaces approach
the characteristics of the FFT samples. Empirically, a value of 1/r much smaller than 2
produces little observable change.
The free choice of a value for r is an important addition for filmmaking. The addition of
irregularities to a surface can be accomplished continuously as the resolution is slowly
increased from frame to frame.
Each stage in a midpoint displacement process increases the highest spatial frequency by
a factor l/r=2. Each stage of successive random additions increases this frequency by
1/r> 1. Thus, both are related to Mandelbrot's generalization[ 1,11] of the Weierstrass
non-differentiable function, VMW(t). Whereas the Fourier series of Eq. (III.6) involves
a linear progression of frequencies, the Weierstrass function involves a geometric
progression. In the notation of this paper,
828
where An is a Gaussian random variable with the same variance for all nand cf>n is a
random phase uniformly distributed on 0-2'IT. The original Weierstrass function did not
include the terms for n<O which add small spatial frequencies and large scale fluctu-
ations. As with successive random additions, the addition of a new term to the VMW sum
decreases the spatial resolution by r and adds new fluctuations with variance A2r2H. In
terms of spectral density, although VMW contains only discrete frequencies fn= 1/rn,
each component has a mean square amplitude a: r2Hn a: 1/ f~H in a bandwidth .:1f a: f.
Thus, the spectral density
amplitude 2
M
= (ill. 16)
Although the VMW sum involves an infinite number of components, all practical appli-
cations introduce both low and high frequency cutoffs. For a range of distance scales
from A to Lmax only log(Lmax/A) components are needed. Frequencies much higher
than l/A average out to zero contribution over scales of size A while frequencies much
lower than l/Lmax contribute only an overall offset and slope. The VMW random fractal
function of Eq. (111.15) allows the direct computation of VMW(t) at any t from a stored
set of order log(Lmax/A) coefficients An and cf>n' Figure 18 illustrates this process for
H=O.8 as the number of terms is increased.
With the use of table lookup for sin(x), the VMW fractal function can be made extremely
fast. The fractal is represented by a only few stored coefficients and there is no penalty
for calculating the function outside its original boundary. The resolution can easily be
changed by changing the number of components used. A variable r allows changing
lacunarity independent of D. Other periodic functions can be used in place of sin(x). For
example, both midpoint displacement and successive random additions, correspond to a
triangle function. In addition, midpoint displacement sets all cf>n = constant. Extensions
to E> 1 are possible with periodic functions in all E coordinates.
acknowledgement
This work was made possible by the help, encouragement, and inspiration of Benoit
Mandelbrot.
829
suggested references
1. Mandelbrot, B.B. The Fractal Geometry of Nature, (Freeman, New York) 1982 and
references therein. See also, Fractals: Form, Chance, and Dimension, W. H. Freeman
and Co., San Francisco (1977).
2. Voss, R F. "l/f (flicker) noise: a brief review", Proc. 32rd Annual Symposium on
Frequency Control, Atlantic City, (1979), 40-46 and references therein.
3. Mandelbrot, B. B. and Wallis, J. R "Some Long-Run Properties of Geophysical
Records", Water Resources Research 5, (1969) 321-340.
4. Musha, T. and Higuchi, H. "The 11f Fluctuation of a Traffic Current on an Ex-
pressway", Jap. J. Appl. Phys. 15, (1976), 1271-1275.
5. Voss, R F. and Clarke, J. "l/f Noise in Music: Music from 1/f Noise", J. Accous.
Soc. Am. 63, (1978),258-263.
6. Voss, RF. and Clarke, J. " 'llf noise' in music and speech", Nature 258, 317-8
(1975).
7. Gardner, M. "White and brown music, fractal curves, and one-over-f noise",
Mathematical Games column in Scientific American, April 1978 p16.
8. Mandelbrot, B.B. and Wallis, J. W. "Fractional Brownian motions, fractional
noises, and applications", SIAM review, 10 (1968) 422-437.
9. For example see: Freeman, J. J. Principles of Noise, John Wiley & Sons, Inc., New
York, (1958), Chapter 1, "Fourier Series and Integrals." or Robinson, F.N.H. Noise
and Fluctuations, Clarendon Press, Oxford, (1974).
10. A good discussion is found in Reif, F. Statistical and Thermal Physics, McGraw-Hill
Book Co., New York, (1965), Chapter 15, "Irreversible Processes and Fluctu-
ations."
11. Berry, M.V. and Lewis, Z.V. "On the Weierstrass-Mandelbrot fractal function",
Proc. R. Soc. Lond. A, 370 (1980) 459-484.
12. Cochran, W. T. et al. What is the Fast Fourier Transform? Proc. IEEE 55, (1967),
1664-1677.
13. Carpenter, L. "Computer rendering of fractal curves and surfaces", SIGGRAPH
'80 Conference Proceedings, (1980) 109.
14. Fournier, A., Fussell, D., and Carpenter, L. "Computer rendering of Stochastic
Models", Comm. of the ACM, 25, (1982) 371-384
15. Mandelbrot, B.B. "Comment on Computer rendering of Fractal Stochastic Mod-
els", Comm. of the ACM, 25, (1982) 581-584, and the response by Fournier,
Fussell, and Carpenter.
830
Figure 5. Construction of the exactly self-similar von Koch curve. At each stage in the
construction a line segment (on the bottom) is replaced by 4 smaller segments of length
1/3 of its parent (as shown in the middle). The top figure shows the curve after 6 stages
(4096 line segments) with a fractal dimension D = log(4)/log(3) = 1.26 ... .
MAG 1.00~ +00 MAG -4.001:+00 MAG 3.20E:+01
log!
Figure lO. Samples of typical "noises", Figure 12. Samples of stochastically com-
V(t), the random variations of a quantity posed fractal music based on the different
in time. (a) White noise, the most random. types of noises shown in Fig.lO.(a) "white"
(b) 11f noise, an intermediate but very music is too random. (b)" 1/flO music is
commonly found type of fluctuation in na- the closest to actual music (and most
ture, its origin is, as yet, a mystery. (c) pleasing). (c) "Brown" or 1/f2 music is
Brownian motion or a random walk. To the too correlated.
left of each sample is a graphical represen-
tation of that noises spectral density,
Sv(f), a measurement technique for char-
acterizing the time correlations in the noise.
832
107 107
(Il)
106 106
(c)
105 105
(c)
104 104
(d) t;::
(d)
~ 115
.j 103 .j 103
a
~
(e)
~ 102 102
-fi -fi
'0- '0-
10' 10'
10°
10-'
f (Hz) f (hz)
Figure 11. Spectral density measurements of the pitch variations in various types of music
showing their common correlations as 11f noise.
833
Freq.
used
1025
513
257
129
65
~
33
17
9
5
3
Figure 13. Increasing detail in a FFT generated sample (N=1024) of fBM for H=O.8,
fJ=2.6, and D= 1.2 as higher frequencies are included. To generate N points requires
order NlogN operations.
points
used
1025
513
257
129
65
~ 33
17
~ 9
5
3
Figure 14. Increasing detail in a midpoint displacement generated sample of fBM for
H=O.8 and D= 1.2 as the number of stages is increased. At each stage a random dis-
placement is added to each of the midpoints of between the previous values. Note that
large fluctuations in an an early stage remain as "special points" in later stages. This
sample is not stationary. To generate N points requires order N operations.
834
Figure 15. Zenith view of a midpoint displacement surface on a square lattice for H=O.8
and D=2.2. The illumination was along one lattice direction. The non-stationary char-
acter is visible as the prominent shadows. This may be compared with Figs. 6 and 17
which wt!re also generated on a square lattice.
Figure 17. Zenith view of a successive random addition surfaces on a square lattice for
H=O.8 and D=2.2. The illumination was along one of the axis. By varying the expan-
sion factor l/r before new randomness is added, the surface /acunarity (or texture) can
be varied without changing D. (a) l/r=4. (b) 1/r=8. (c) l/r=1.41. The lacunarity
increases as l/r increases and for large l/r only a few fluctuation scales are visible. As
r-l the lacunarity approches that of the FFT surfaces.
835
points
used
1025
513
257
129
65
~ 33
17
9
5
3
Figure 16. Increasing detail in a successive random addition sample of fBM for H=O.8
and D= 1.2 as the number of stages is increased. At each stage a random displacement
is added to each of the points, not just the midpoints. This sample is a better approxi-
mation to fBm than the midpoint displacement of Fig. 14 but the generation requires
order N operations for N points.
used
17
15
13
.e 11
>
9
7
5
3
1