Beruflich Dokumente
Kultur Dokumente
Abstract
decades it has been shown that many nonlinear phenomena are so complicated and irregular that they cannot be
modeled well using these classical techniques [18, 19, 20].
The spectrum of examples of this phenomena ranges from
the growth and decline of populations, weather forecast,
fluid turbulence, to topics in economics (see, for example,
[16, 25]). The development of fractal geometry provides
rigorous concepts and practical techniques for the mathematical formulation and analysis of irregular processes [22].
For example, the fractal dimension of strange attractors associated with chaotic dynamical systems gives valuable information about the irregular evolution observed in such
systems [7, 8, 9, 11, 12].
Several fractal modeling and generation methods have
been developed during the last two decades. Among them,
the Iterated Function Systems (IFS) models, popularized by
Barnsley in the 1980s, are particularly interesting due to
their mathematical simplicity [1]. IFS models have been
applied in many disciplines, for example, in artificial landscape modeling in computer graphics. Roughly speaking,
an IFS consists of a collection of functions that map a region onto smaller parts. Iteration of these mappings results
in convergence to a self-similar fractal that is called the attractor of the IFS. Self-similarity means that any portion
of the object, if enlarged in scale, appears identical to the
whole object. This property allows us to characterize the
kind of fractals that can be generated using IFS models in
an intuitive way. Of course, the concept of fractal includes a
wider class of objects, but many of the most popular fractal
images can actually be obtained through an IFS.
Although IFS fractals can be of any dimension, they
are commonly computed and drawn in the two-dimensional
plane. In the two-dimensional space, the fractal is made up
of the union of several copies of itself, where each copy is
transformed by a function (function system). Such a function is mathematically a 2D affine transformation (see Section 2 for details), so the IFS is defined by a finite number
of affine transformations (rotations, translations, and scalings), and therefore represented by a relatively small set of
1. Introduction
Traditionally, the classical mathematical concepts and
methods were concerned with smooth objects, ignoring irregular sets. For example, the concept of derivative allows us to analyze smooth curves and surfaces. Nowadays,
smoothness and fairness are still much-desired properties
in almost any mathematical representation of real objects,
wherever it appears. However, in real world irregularity is
the rule rather than the exception: clouds are not spheres,
trees are not cylinders, mountains are not cones and fire
or smoke are not smooth surfaces. In fact, during the last
978-0-7695-3701-6/09 $25.00 2009 IEEE
DOI 10.1109/ICCSA.2009.10
132
x
y
= wi
ai
ci
x
ei
.
+
(1)
y
fi
bi
di
or equivalenty:
wi (x) = Ai .x + bi
where bi is a translation vector and Ai is a 2 2 matrix with eigenvalues 1 , 2 such that |i | < 1. In fact,
|det(Ai )| < 1 meaning that wi shrinks distances between
points. Since we only consider two-dimensional images
with the Euclidean distance, an IFS will be onwards represented by a list of the pairs (A, b). For example, the classical Sierpinsky gasket (see Figure 1) is generated by three
mappings, each of which is a translation composed with a
scaling of one-half:
x
y
x
y
x
y
= w1
= w2
= w3
x
y
x
y
x
y
=
=
=
1
2
1
2
1
2
0
1
2
0
1
2
0
1
2
x
1
.
+
y
1
x
1
.
+
y
1
x
0
.
+
y
1
133
support() = |W|. Thus, given an arbitrary initial measure 0 M(X) the sequence {k }k=0,1,2,... constructed
as k+1 = M (k ) converges to the invariant measure of the
IFSP. Also, a similar iterative deterministic scheme can be
derived from Eq.(2) to obtain |W|.
However, there exists a more efficient method, known as
probabilistic algorithm, for the generation of the attractor of
an IFS. This algorithm follows from the result {xk }k>0 =
|W| provided that x0 |W|, where:
(3)
(see, for instance, [3]). This issue will be discussed in Sections 4 and 5.
n
[
wi (A).
1. a computational library (toolbox): it contains a collection of commands, functions and routines implemented to perform the numerical and graphical tasks.
(2)
2. a graphical user interface (GUI): this component is responsible for input/output windowing and smooth interaction with the user.
i=1
Our numerical functions have been implemented by using the native Matlab programming language. They take advantage of the large collection of numerical routines available in this system. Usually, these built-in Matlab routines
provide extensive control on a number of different options
and are fully optimized to offer the highest level of performance. In fact, this is one of the major strengths of the
program and one of the main reasons to choose Matlab as a
convenient programming environment.
On the other hand, the powerful Matlab graphical capabilities exceed those commonly available in other CAS such
as Mathematica and Maple. Although our current needs do
not require to apply them at full extent, they avoid us the
tedious and time-consuming task to implement many routines for graphical output by ourselves. In fact, some nice
viewing features such as 3D rotation, zooming in and out,
labeling, scaling, coloring and others, which are automatically inherited from the Matlab windows system, have been
intensively used in our system.
Although this toolbox is enough to meet all our computation needs, potential end-users might be challenged for using it properly unless they are really proficient on Matlabs
syntax and functionalities and the toolbox routines. This
i=1
n
X
pi (wi1 (S)),
S B(X),
i=1
n
X
pi (wi1 (S)),
i=1
where S is a Borel subset of X. Using the Hutchinson metric on M(X), it is possible to show that M is a contraction with a unique fixed point, M(X). Furthermore,
134
135
w1
w2
w3
w4
Figure 3. Bernsleys fern (left) and its contractive functions in color (right)
IFS functions, namely, values for ai , bi , ci , di , ei and fi arranged in a two-dimensional matrix and vector according to
Eq. (1). Once a new function is inputted, it can be added to
the list of iterated functions by pressing button Add. This
action is immediately reflected in the list box below such
a button since the new iterated function shows up. For instance, Figure 4 displays the IFS code of the famous Barnsleys fern, given by Table 2. Such a fractal is represented
graphically in Figure 3.
We can modify any already created function through the
button Modify. To this aim, it is enough to click on the
list box at the location of the contractive function we wish
to modify and its parameter values will be placed back onto
the input boxes for further modification. Finally, clicking
on the button Update returns the new function code to its
former position at the list box. User is kindly warned at this
point about the possible confusion between pressing button Add or Update once function parameters are modified. The former button adds a new function, so the IFS is
enlarged regarding the number of iterated functions, while
the latter one replaces the former function by the modified
one, so the number of iterated functions for the IFS does
not change. We can also remove any contractive function
of an IFS at any time (button Remove). Alternatively,
button Remove All removes the codes of all contractive
functions of current IFS.
Once we know how an IFS describe a fractal image, the
next step is introducing a rendering method. Equation (2)
provides us with the simplest rendering algorithm, called
deterministic algorithm. It works by generating a sequence
of images obtained by iterating (2) starting on an initial set
136
ally expensive and, hence, practically useless. A more efficient algorithm can be obtained by attaching real weights
pi to each of the transformations in the IFS, such that:
n
X
pi = 1
(4)
i=1
137
Figure 7. Gallery of ten IFS models (left-right, top-bottom): blocks, chaos, snowflake, Koch curve,
abestos, Christmas tree, spiral, neuron, gather, bones
ing one color for each contractive function according to either a default palette or users customization. As the reader
138
Figure 9. Applying the chaos game algorithm with different probability sets: (top-left)
(1/3,1/3,1/3); (top-right) (0.6,0.2,0.2); (bottomleft) (0.2,0.6,0.2); (botttom-right) (0.2,0.2,0.6)
5. Choice of Probabilities
The fractal image is determined only by the set of contractive mappings; the set of probabilities gives the efficiency of the rendering process. Thus, a good choice for
the probabilities is relevant for the efficiency of the rendering process, since the random sequence of points is generated according to these probabilities. Figure 9 shows the
enormous resolution difference among the fractal images
associated with four different sets of probabilities and the
sam number of iterations in all cases (3000 iterations in this
example).
This figure illustrates the key role that the set of probabilities play in the efficiency of this algorithm. The differences
among the rendering processes are due to the different distributions of points generated by the different sets of probabilities over the fractal attractor. For example, with the
second choice of probabilities p1 = 0.6, p2 = 0.2, p3 = 0.2
si
pi = P
n
sj
j=1
139
i = 1, . . . , n.
(5)
Figure 10. Comparing the efficiency of three methods for choosing probabilities for the IFS chaos
game (left to right: random method, Barnsleys method and multifractal method) for three IFS fractal
examples (top to bottom: zig-zag, Barnsleys fern and spiral)
However, this choice of the probabilities is far from being the most efficient in some situations. Another algorithm
(proposed in 1996 by Gutierrez, Iglesias and Rodrguez)
known as multifractal algorithm, provides a method for obtaining the most efficient choice for the probabilities in the
case of non-overlapping IFS models, like is the case of the
Sierpinskys gasket and many other fractals. Intuitively, a
non-overlapping IFS is one whose self-similar parts do not
overlap each other. The basic idea of the proposed method
is using a multifractal analysis to characterize the perfor-
mance of the different sets of probabilities in the rendering process [13, 14]. As a results, they obtained that the
standard choice for the probabilities given in (5) do not correspond to the best choice and that the most efficient set
of probabilities have to lead to a multifractal measure with
the smallest strength of singularities [15]. The minimum
strength of singularities is given by the condition [14]:
log(pi ) = Dlog(wi ) pi = wiD ,
(6)
140
wiD = 1.
include some other interesting features such as the computation of the fixed points for the contractive functions and
other numerical and symbolic computations. On the other
hand, we want to explore other ways to generate 2D fractals,
such as escape algorithms, L-systems, etc. The implementation of other types of fractals like Julias and Mandelbrots
sets are also goals for further work. Finally, we plan to use
Matlabs graphical capabilities to extend our program to the
three-dimensional case. Fractals in the 3D space are both
challenging and more difficult to generate. They are typically constructed by superimposing polyhedra upon themselves recursively, a computational expensive technique in
terms of CPU and memory requirements. Stereographic images, that will provide a higher degree of realism and a truly
three-dimensional feeling to our fractal artwork, are also
part of our future work.
(7)
i=1
(8)
Acknowledgments
This research has been supported by the Computer Science
National Program of the Spanish Ministry of Education and
Science, Project Ref. #TIN2006-13615 and the University
of Cantabria.
References
[1] Barnsley, M.F.: Fractals Everywhere, Second Edition. Academic Press (1993)
[2] Barnsley, M.F. , Hurd, L.P.: Fractal Image Compression. AK
Peters, Wellesley, MA. (1993)
[3] Elton, J.H.: An Ergodic Theorem for Iterated Maps, Ergodic Theory Dynam. Syst., 7, 481-488 (1987)
[4] Falconer, K.: Fractal Geometry: Mathematical Foundations
and Applications. Wiley (1990)
[5] Fisher, Y.: Fractal Image Compression: Theory and Applications. Springer-Verlag (1995)
[6] Forte, B. Vrscay, E. R.: Solving the inverse problem for measures using iterated function systems : a new approach. Adv.
Appl. Prob., 27, 800-820 (1995)
141
[27] Wein, C. J. , Blake, E.: On the performance of fractal compression with clustering. IEEE Transactions on Image Processing, 5(3), 522-526 (1996)
142