Download Modeling and Rendering of Nonlinear Iterated Function

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Solid modeling wikipedia , lookup

Spatial anti-aliasing wikipedia , lookup

Transcript
Modeling and Rendering of
Nonlinear Iterated Function Systems
Eduard Gröller
Technical University Vienna
Institute for Computer Graphics
Karlsplatz 13/186/2
A-1040 Vienna, Austria
Tel.: +43(1)58801-4582
FAX: +43(1)5874932
e-mail: [email protected]
Abstract
Iterated Function Systems are typically defined through sets of contractive linear
transformations. The theory of Iterated Function Systems is based on the contractivity
but not on the linearity of the defining functions. Piecewise bilinear distortions of grids
are used in this work to specify nonlinear Iterated Function Systems. Nonlinear Iterated
Functions Systems are characterized by a higher degree of flexibility and greater
modeling capability than their linear counterparts. Modeling and rendering aspects are
discussed. Limit sets of 2D nonlinear Iterated Function Systems are represented by
approximating point sets. Limit sets of 3D nonlinear Iterated Function Systems are
either rendered by displaying approximating point sets (z-buffer approach) or through
ray tracing an approximate set of 3D solids. Example images of a test implementation
are presented.
Introduction
An Iterated Function System (IFS) is a concise specification of a typically complex and
fractal geometric shape [1]. The following somewhat mathematical introduction
describes the most important definitions and theorems Iterated Function Systems are
based on. Given a complete metric space (X, d), with X being a set and d:X× X→R
being a distance function on elements of X, an IFS is defined through a finite set of
affine, contractive functions w i: X→X (notation: IFS {X; w1, ..., wN}). A function wi is
contractive if and only if there exists a so called contractivity factor si ∈ [0,1), such that
d(wi(x), wi(y)) ≤ si∗d(x,y)
∀x,y ∈ X
The metric space (X, d) is now used to define a metric space (H(X), h), where H(X)
contains the non empty compact subsets of X and h(d) denotes the Hausdorff distance
between elements A and B of H(X):
h(A,B) = max{max min d(x, y), max min d(x, y)}
x∈A
y∈B
y∈B
x∈A
As H(X) contains only the non empty compact subsets of X the distance h(A,B) is well
defined for A, B ∈ H(X). In our work set X will either be 2D or 3D space and H(X) will
thus either consist of most 2D or 3D objects one can think of. The Hausdorff distance
on elements of H(X) allows the comparison of 2D or 3D objects. Iterated Function
Systems specify invariant limit sets where convergence is with respect to the Hausdorff
distance h(). A function wi:X→X is easily extended to wi:H(X)→H(X) by
wi(A) = {wi(x) | x∈A},
A∈H(X)
Given an IFS {X; w1 , ..., wN} then the contractive functions wi (extended from
functions X→X to functions H(X) →H(X)) specify a function W:H(X)→H(X) as follows
(Hutchinson operator):
N
W(A) = U w i (A),
A ∈H(X)
i=1
Function W() is contractive with contractivity factor s = max {s 1 , ..., s N}. Due to the
contractivity of W() it can be shown that there is a unique set A’, called the attractor of
the IFS, that satisfies
A’ = W(A’)
Furthermore any element A∈ H(X) will be eventually mapped onto this attractor A’
under repeated application of function W(), i.e.,
A’ = lim W n (A)
n→∞
∀ A ∈ H(X)
An IFS is thus a very concise description (e.g., an affine function in the plane is
specified with only six numbers) of the attractor A’ which is very often a fractal set.
Algorithms for calculating the attractor A’ of an IFS are discussed in a later section.
IFSs have been used in computer graphics, e.g., for modeling [2], [3] as well as for data
compression [1], [4]. For further details on fractals and IFSs see for example [5].
Nonlinear Iterated Function Systems
The theory of IFS, i.e., unique attractor A’, convergence of any set A to this attractor A’
under application of function W(), is based on the contractivity of the functions wi and
W. There are some reasons, which are however not imperative, to use affine maps for
the specification of functions wi: affine functions are easily manageable, they are well
understood and they can be specified in a concise way through a matrix and translation
vector (see figure 1). Affine transformations describe linear mappings, i.e., lines are
mapped to lines, and they can be intuitively visualized by showing the effect of the
transformation on a simple shape, e.g., rectangle or triangle for functions wi:R2→R2
(see figure 1).
w3
w1
w2
 x  0.5 0   x  0
w1   = 
 ∗  +  
 y  0 0.5  y  0
 x  0.5 0   x  0.5
w2   = 
 ∗  +  
 y  0 0.5  y  0 
 x  0.5 0   x  0.25
w3   = 

 ∗  + 
 y  0 0.5  y  0.5 
figure 1: linear IFS {R2; w1, w2, w3}, attractor A’
The usage of nonlinear functions for the specification of IFS greatly increases the
number of shapes that can be modeled. In fact there is a well known group of shapes
whose elements are attractors of nonlinear IFS {C; w1, w2} of two functions in the
complex plane C. These are the so called Julia sets (see figure 2). Julia sets separate, in
case they are connected, points in the complex plane with vastly differing dynamic
behavior under iteration of fc(z)=z2+c.
c=-0.7+0.1i
c=-0.5+0.1i
figure 2: Nonlinear IFS {C; w1, w2} with w1 = + z - c and w 2 = − z - c
In the following a new class of nonlinear IFSs is presented. These new nonlinear IFSs
are easy to specify and to model. An affine function is defined by specifying how the
function transforms a simple shape, e.g., a rectangle. We now define a nonlinear
function by specifying how the function transforms a rectilinear grid. Defining a
function through the nonlinear distortion of a regular grid (m×n grid in R2 and m×n×o
grid in R3) offers additional modeling capabilities which are not achievable with affine
transformations. Figure 3 shows two examples of nonlinear variations of the Sierpinski
triangle. The attractor in the upper half of figure 3 is defined by three nonlinear
functions, the attractor in the lower half of figure 3 is given by one nonlinear and two
linear functions.
w1
w2
w3
w1
w2
w3
figure 3: Nonlinear variations of the Sierpinski triangle, IFS {R2; w1, w2, w3}
The transformation of an interior point P of a rectangular grid is now determined by
bilinear interpolation of the adjacent grid points. Figure 4 illustrates the situation in two
dimensions. An extension to three dimensions is, however, straightforward. A twodimensional point P=(P x,Py) is given by its two Cartesian coordinates and P denotes
the point after transformation. Ps,t is an original grid point and Ps,t denotes the
corresponding transformed grid point. Then the transformed point P of an interior point
P is calculated as follows :
P = (1 - v)∗[P i, j ∗(1 - u) + P i+1, j ∗u] + v∗[P i, j+1∗(1 - u) + P i+1, j+1∗u]
with
P x − P i,x j
u= x
P i+1, j − P i,x j
and
P y − P i,y j
v= y
P i, j+1 − P i,y j
Defining the transformation only for interior points of the grid is sufficient if the
transformed grid lies within the untransformed one. This ensures that the transformation
of no exterior points is required for the subsequent calculation of the attractor of the
IFS. Furthermore, if the transformed grid lies within the boundaries of the
untransformed grid then contractivity, which is essential for the existence of and
convergence to a unique attractor, is guaranteed. Starting with a sufficiently large grid
has the additional advantage of easily producing a bounding volume hierarchy which is
then used in rendering the attractor of 3D nonlinear IFS. Details are given in the
following section.
y
y
Pi,j+1
P
Pi,j+1
Pi+1,j+1
Pi+1,j+1
P
v
Pi,j
v
u
Pi+1,j
Pi,j
u
Pi+1,j
x
x
untransformed grid
transformed grid
figure 4: bilinear interpolation of interior point P in R2
Figure 5 shows an example of a 2D linear IFS and figure 6 shows a similar 2D
nonlinear IFS.
w1
w2
w3
w4
figure 5: linear IFS {R2; w1, w2, w3, w4} similar to figure 6
There are different approaches to define nonlinear functions through grid distortion.
One method specifies the transformation of each grid point explicitly. Although this
gives a high degree of control on the final outcome it might be cumbersome for large
grid sizes. [6] describes some global deformation schemes, i.e., bending, twisting,
tapering, that are also applicable to our 2D or 3D grids. Thereby groups of grid points
are transformed simultaneously and coherently. With tapering, for example, a nonlinear
and non uniform scaling is specified. Functions w1 and w2 of the nonlinear IFS in
figure 6 are examples of the bending operation. Twisting describes a non uniform
rotation of grid points around a predefined axis. High level manipulation of the 2D or
3D grid enables a fast and intuitively easy definition of nonlinear IFS. Some of these
techniques were applied to generate the color plates.
w1
w2
w3
w4
figure 6: nonlinear IFS {R2; w1, w2, w3, w4} similar to figure 5
Rendering of Nonlinear Iterated Function Systems
There are basically two types of algorithms for the approximate calculation of the
attractor of a linear IFS. Both types can be applied with some modifications to
nonlinear IFS as well. The stochastic algorithm proceeds as shown in figure 7.
P0 = P
for n = 1 to nmax do
begin
 w1(Pn-1) with probability p1
Pn = 
...
 wN(Pn-1) with probability pN
draw Pn
end
figure 7: stochastic algorithm for IFS {X; w1, ..., wN}
Starting with an arbitrary point P one of the functions w1, ..., wN is selected at random
and applied to point P. Repeatingly selecting a function and transforming the previously
calculated point (Pn = wi(Pn-1)) yields a sequence of points that, due to the chaotic
dynamics of the process, closely approximates the attractor of the IFS (with very high
probability). Depending on the choice for the initial point P the first few points of the
above sequence may not yet be close to the attractor. They should therefore be
eliminated from the approximating point set.
A probability p i is assigned to each function wi to account for varying contractivity
factors. Probabilities should be chosen so that the generated point sequence uniformly
converges to the attractor of the IFS, i.e., functions with low contractivity are assigned a
higher probability. As nonlinear functions may have locally varying contractivity,
determining these probabilities is not as easy as for linear functions. [7] present a
simple algorithm that accounts for the locally varying contractivity of functions used
for approximating Julia sets (figure 2). The same strategy, which basically ensures that
the point sequence of the stochastic algorithm visits regions of the attractor with low
contractivity more often, can be used for nonlinear IFS as defined above.
Drawing a point sequence of a 2D IFS is simple. For 3D IFS however an image
plane and type of projection (parallel or perspective) has to be defined. In this case we
preserve depth information through depth cueing which produces quite acceptable
results. Thereby the color values of points farther away from the viewer are attenuated
according to distance. A pixel may be assigned the color value of the point closest to
the viewer or a weighted average of all points projecting onto the same pixel may be
taken.
The second algorithm for approximating an IFS is an immediate result of the fact
that every object A will approximate the attractor A’ of an IFS under iteration of
function W(). Therefore the deterministic algorithm approximates the attractor as
follows:
A’ ≈ Wnmax(A)
where nmax determines the level of accuracy of the approximation. We did use the
deterministic algorithm for visualizing 3D nonlinear IFS. Although the stochastic
algorithm is usually much faster there are same advantages to use the deterministic
algorithm. Starting with a 3D solid A the deterministic algorithm produces a 3D solid
approximation of the fractal attractor instead of a mere point set as the stochastic
algorithm does. So hidden surface procedures applied to such a 3D approximation
greatly increase the depth perception for the viewer. In addition the simulation of
complex global lighting effects, e.g., shadowing, shading, reflection, transparency, is
often tied to 3D models with surface normals. Fractal objects do not have surface
normals which are however required to evaluate a more complex shading model. [3]
propose several strategies to simulate nonexistent surface normals of their linear
fractals. As we render only 3D approximations, Wnmax(A), of the attractor of an IFS
their is no problem with missing normal vectors.
Our algorithm for rendering 3D nonlinear IFS uses ray tracing [8] for high quality
image generation and follows [3] and [9]. Ray - object intersection testing is the most
time consuming step in the ray-tracing process and is accelerated for linear as well as
nonlinear IFS by using a hierarchical data structure. Nonlinear functions are chosen, as
pointed out above, so that W(A) ⊆ A. Therefore
Wnmax(A) ⊆ Wnmax-1 ⊆ ... ⊆ W2(A) ⊆ W(A) ⊆ A
constitutes an efficient hierarchical data structure that bounds the attractor on all levels
of approximation. Only if a ray intersects an object of Wi(A) then the corresponding
elements of Wi+1(A) must be further considered. Due to non uniform contractivity
W nmax (A) contains objects of sometimes largely differing sizes. So rendering
W nmax (A), i.e., all objects on the same level of recursion, especially visualizes the
zones with low contractivity. [3] subdivide objects in low contractivity regions to a
much higher level, so as to get the best approximation of the attractor that is possible
with respect to the given image resolution. As we are interested in the convergence
process itself a fixed level of recursion is appropriate.
Two types of initial objects A were used in our deterministic algorithm: spheres and
the tessellated outer surface of the grids, which were used to define the nonlinear
functions, themselves. Taking a sphere as an initial object has two advantages: First ray
- sphere intersection testing is cheap. Second if Wi(A) contains only spheres then
Wi+1(A) may be approximated with sufficient accuracy by transforming only the sphere
centers and determining the radii of the spheres in Wi+1 (A) considering the
contractivity factors of functions wi. With such an approach Wi+1(A) is not determined
exactly but only a superset is determined, which is however in most cases sufficient to
visualize the convergence behavior of the approximation process. A sphere as initial
object therefore allows a fast approximate determination of Wnmax(A) which in turn is
an approximation of the attractor A’. Taking the initial (function wi defining) grid as
initial object A produces results that are more exact but are, at the same time, also more
time consuming: Ray - object intersection testing and recursive refinement (going from
Wi(A) to Wi+1(A)) is much more costly with a grid surface than with a sphere.
Antialiasing has been done through oversampling. Refinement of objects may stop
adaptively as soon as their projection onto the image plane is smaller than a pixel area.
For details see [3]. In addition shadow rays are cast to each given light source to
determine if a point of intersection is in shadow or not.
Implementation, results
We have implemented a system for the interactive specification and rendering of 2D
nonlinear IFS (in Turbo Pascal) and a system for the high quality rendering of 3D
nonlinear IFS (in C++). The color plates (resolution 360×384) show some nonlinear and
one linear 3D IFS which have been rendered with either the stochastic or the
deterministic algorithm. Corresponding statistics are given in figure 8 and 9. The
appendix contains a detailed specification of the IFSs of figure 8. A nonlinear function
is thereby defined by specifying the transformations of the points of a regular initial
grid.
nonlin. IFS
"tapering"
"twisting"
"fantasy"
"plant 1"
"plant 2"
#of functions grid size contract.
4 nonlinear
2×4×2
0.55
4 nonlinear
2×4×2
0.69
5 nonlinear
3×2×3
0.64
5 linear
2x2x2
0.50
5 nonlinear
2x4x2
0.68
comment
tapering of Sierpinski tetrahedron
twisting of Sierpinski tetrahedron
tapering of grid
linear plant modeling
nonlinear plant modeling
figure 8: statistics of examples of IFSs
Color plates 1 through 3 show nonlinear distortions of the Sierpinski tetrahedron. Plate
1 and 2 illustrate nonlinear scaling along the vertical axis (tapering). Plate 1 shows the
object that results after applying the tapering functions to the initial grid twice. The
effects of the nonlinear functions are clearly visible. Plate 2 depicts the resulting
attractor visualized with the stochastic algorithm. Plate 3 illustrates nonlinear rotation
along the vertical axis (twisting). Portions of the Sierpinski tetrahedron with higher zvalues are rotated more heavily than lower lying parts. Plate 4 is the image of a rather
strange looking nonlinear IFS with five functions. Plates 5 through 8 show the
difference of linear and nonlinear IFS. Plate 6 displays a plant-like object which is
defined by five linear functions. These functions could be defined by matrix operations
as well. But as our program handles functions as grid distortions only, the linear
functions of IFS "plant 1" are specified accordingly. Plate 8 shows the object which
results from somewhat similar but nonlinear functions than those used in plate 6. Using
the initial grid as initial object A and taking nmax to be one in plate 5 and 7, allows to
visualize how the defining functions of IFSs "plant 1" and "plant 2" work. Plate 7
illustrates the nonlinear grid distortions used to specify the functions of "plant 2". The
greater flexibility of nonlinear IFS may be used to increase realism when modeling
natural phenomena (compare plate 6 and plate 8).
plate
1
2
3
4
5
6
7
8
nonlin. IFS
"tapering"
"tapering"
"twisting"
"fantasy"
"plant 1"
"plant 1"
"plant 2"
"plant 2"
algorithm
deterministic, A=grid, nmax=2
stochastic, 1.000.000 pts.
deterministic, A=sphere, nmax=6
deterministic, A=grid, nmax=6
deterministic, A=grid, nmax=1
deterministic, A=sphere, nmax=6
deterministic, A=grid, nmax=1
deterministic, A=sphere, nmax=7
figure 9: statistics for color plates
Summary
Iterated function systems are usually defined by a set of linear contractive functions.
Abandoning the linearity of the defining functions allows the specification of nonlinear
IFS with greater modeling flexibility. Nonlinear functions are defined through grid
distortions. Currently we are working on an interactive module which should enable an
easy and intuitive specification of nonlinear functions. Rendering algorithms for 2D and
3D nonlinear IFS have been discussed. Examples show the wide variety of recursive
objects which can be modeled with nonlinear IFS. Future work will include parametric
approximation of grid points (e.g., with B-Splines or NURBS), more elaborate color
assignment (each function of a nonlinear IFS is assigned a color, then different
strategies may be used to assign varying color values to different parts of the resulting
attractor), grid point animation, etc.
There might be some future application of nonlinear Iterated Function Systems for
fractal image compression. [10] discuss a pixel based approach that makes use of so
called local IFS. Local IFS do not transform the whole underlying metric space but only
subsets thereof. As nonlinear IFS are defined on the interior of a regular grid they are
local by definition. Right now pixel based fractal compression techniques reduce the
tremendous search cost involved to determine the compressing local IFSs by reducing
the allowable class of functions (only simple affine transformations like scaling,
rotation of 90o, 180o, 270o, horizontal and vertical reflection). Faster algorithm in the
future should allow to enlarge the class of admissible functions which could then
include nonlinear functions. Nonlinear Iterated Function Systems may be more
appropriate to encode pixel blocks which contain, e.g., curved edges, than simple affine
transformations.
References
[1]
[2]
M. Barnsley, Fractals Everywhere, Academic Press, (1988).
E. Gröller, Fractals and Solid Modeling, Computer Graphics Forum 11(3), 415424, (1992).
[3] J. C. Hart and T. DeFanti, Efficient Anti-aliased Rendering of 3D-Linear Fractals,
Computer Graphics, 25(4), 91-100, (1991).
[4] M. Barnsley, L. Hurd, Fractal Image Compression, AK Peters, (1992).
[5] H. O. Peitgen, H. Jürgens, D. Saupe, Chaos and Fractals, New Frontiers of
Science, Springer, (1992).
[6] A. H. Barr, Global and Local Deformations of Solid Primitives, Computer
Graphics 18(3), 21-30, (1984).
[7] H. O. Peitgen, D. Saupe, The Science of Fractal Images, Springer, (1988).
[8] A. Glassner (ed.), An Introduction to Ray Tracing, Academic Press, (1989).
[9] J. T. Kajiya, New Techniques for Ray Tracing Procedurally Defined Objects,
Computer Graphics 17(3), 91-102, (1983).
[10] E. W. Jacobs, Y. Fisher and R. D. Boss, Image compression: A study of the
iterated transform method, Signal Processing 29, Elsevier Science Publishers,
251-263, (1992).
Acknowledgment
The author would like to thank Martin Schwarzinger for implementing an interactive
2D IFS modeling system. Thanks to Johann Schipfer for implementing the rendering
software for 3D nonlinear IFS and for his help in generating the color plates. The
helpful suggestions of an anonymous reviewer were much appreciated.
Appendix
In the following the functions of the IFSs used for the color plates are given. Each
function is defined by distorting a regular initial grid. A table contains the point
coordinates of the initial grid (column 'initial') and for each function of the IFS the
corresponding transformed grid point is given (columns 'f1', 'f2', ...). For reasons of
uniformity the linear functions of IFS "plant 1" are given as grid distortions as well
(table 5).
initial
0.00
0.00
0.00
0.00
0.00
100.00
0.00
33.33
0.00
0.00
33.33
100.00
0.00
66.67
0.00
0.00
66.67
100.00
0.00
100.00
0.00
0.00
100.00
100.00
100.00
0.00
0.00
100.00
0.00
100.00
100.00
33.33
0.00
100.00
33.33
100.00
100.00
66.67
0.00
100.00
66.67
100.00
100.00
100.00
0.00
100.00
100.00
100.00
f1
f2
f3
0.00
50.00
25.00
0.00
0.00
0.00
0.00
0.00
50.00
0.00
50.00
25.00
0.00
0.00
0.00
50.00
50.00 100.00
6.67
56.67
31.67
16.67
16.67
16.67
4.17
4.17
54.17
6.67
56.67
31.67
16.67
16.67
16.67
45.83
45.83
95.83
13.33
63.33
38.33
33.33
33.33
33.33
8.33
8.33
58.33
13.33
63.33
38.33
33.33
33.33
33.33
41.67
41.67
91.66
20.00
70.00
45.00
50.00
50.00
50.00
12.50
12.50
62.50
20.00
70.00
45.00
50.00
50.00
50.00
37.50
37.50
87.50
50.00 100.00
75.00
0.00
0.00
0.00
0.00
0.00
50.00
50.00 100.00
75.00
0.00
0.00
0.00
50.00
50.00 100.00
43.33
93.33
68.33
16.67
16.67
16.67
4.17
4.17
54.17
43.33
93.33
68.33
16.67
16.67
16.67
45.83
45.83
95.83
36.66
86.67
61.67
33.33
33.33
33.33
8.33
8.33
58.33
36.67
86.67
61.67
33.33
33.33
33.33
41.67
41.67
91.67
30.00
80.00
55.00
50.00
50.00
50.00
12.50
12.50
62.50
30.00
80.00
55.00
50.00
50.00
50.00
37.50
37.50
87.50
f4
25.00
50.00
25.00
25.00
50.00
75.00
31.67
66.67
29.17
31.67
66.67
70.83
38.33
83.33
33.33
38.33
83.33
66.67
45.00
100.00
37.50
45.00
100.00
62.50
75.00
50.00
25.00
75.00
50.00
75.00
68.33
66.67
29.17
68.33
66.67
70.83
61.67
83.33
33.33
61.67
83.33
66.67
55.00
100.00
37.50
55.00
100.00
62.50
table 1: IFS "tapering", 2x4x2 grid
initial
-60.10
-25.00
-60.10
-60.10
-25.00
110.10
-60.10
8.33
-60.10
-60.10
8.33
110.10
-60.10
41.67
-60.10
-60.10
41.67
110.10
-60.10
75.00
-60.10
-60.10
75.00
110.10
110.10
-25.00
-60.10
110.10
-25.00
110.10
110.10
8.33
-60.10
110.10
8.33
110.10
110.10
41.67
-60.10
110.10
41.67
110.10
110.10
75.00
-60.10
110.10
75.00
110.10
f1
-42.50
-25.00
-42.50
-42.50
-25.00
42.50
-52.05
-8.33
-30.05
-30.05
-8.33
52.05
-58.06
8.33
-15.56
-15.56
8.33
58.06
-60.10
25.00
0.00
0.00
25.00
60.10
42.50
-25.00
-42.50
42.50
-25.00
42.50
30.05
-8.33
-52.05
52.05
-8.33
30.05
15.56
8.33
-58.06
58.06
8.33
15.56
0.00
25.00
-60.10
60.10
25.00
0.00
f2
f3
7.50 -17.50
-25.00 -25.00
-42.50
7.50
7.50 -17.50
-25.00 -25.00
42.50
92.50
-2.05 -27.05
-8.33 -8.333
-30.05
19.95
19.95
-5.05
-8.33
-8.33
52.05 102.05
-8.06 -33.06
8.33
8.33
-15.56
34.44
34.44
9.44
8.33
8.33
58.06 108.06
-10.10 -35.10
25.00
25.00
0.00
50.00
50.00
25.00
25.00
25.00
60.10 110.10
92.50
67.50
-25.00 -25.00
-42.50
7.50
92.50
67.50
-25.00 -25.00
42.50
92.50
80.05
55.05
-8.33
-8.33
-52.05
-2.05
102.05
77.05
-8.33
-8.33
30.05
80.05
65.56
40.56
8.33
8.33
-58.06
-8.06
108.06
83.06
8.333
8.33
15.56
65.56
50.00
25.00
25.00
25.00
-60.10 -10.10
110.10
85.10
25.00
25.00
0.00
50.00
f4
-17.50
25.00
-17.50
-17.50
25.00
67.50
-27.05
41.67
-5.05
-5.05
41.67
77.05
-33.06
58.33
9.44
9.44
58.33
83.06
-35.10
75.00
25.00
25.00
75.00
85.10
67.50
25.00
-17.50
67.50
25.00
67.50
55.05
41.67
-27.05
77.05
41.67
55.05
40.56
58.33
-33.06
83.06
58.33
40.56
25.00
75.00
-35.10
85.10
75.00
25.00
table 2: IFS "twisting", 2x4x2 grid
initial
0.00
0.00
0.00
0.00
0.00
50.00
0.00
0.00
100.00
0.00
100.00
0.00
0.00
100.00
50.00
0.00
100.00
100.00
50.00
0.00
0.00
50.00
0.00
50.00
50.00
0.00
100.00
50.00
100.00
0.00
50.00
100.00
50.00
50.00
100.00
100.00
100.00
0.00
0.00
100.00
0.00
50.00
100.00
0.00
100.00
100.00
100.00
0.00
100.00
100.00
50.00
100.00
100.00
100.00
f1
0.00
0.00
0.00
0.00
20.32
25.00
0.00
22.22
50.00
0.00
50.00
0.00
0.00
60.16
25.00
0.00
61.11
50.00
25.00
20.32
0.00
25.00
22.09
25.00
25.00
22.22
50.00
25.00
60.16
0.00
25.00
61.05
25.00
25.00
61.11
50.00
50.00
22.22
0.00
50.00
22.22
25.00
50.00
22.22
50.00
50.00
61.11
0.00
50.00
61.11
25.00
50.00
61.11
50.00
f2
50.00
22.22
0.00
50.00
22.22
25.00
50.00
22.22
50.00
50.00
61.11
0.00
50.00
61.11
25.00
50.00
61.11
50.00
75.00
20.32
0.00
75.00
22.09
25.00
75.00
22.22
50.00
75.00
60.16
0.00
75.00
61.05
25.00
75.00
61.11
50.00
100.00
0.00
0.00
100.00
20.32
25.00
100.00
22.22
50.00
100.00
50.00
0.00
100.00
60.16
25.00
100.00
61.11
50.00
f3
50.00
22.22
50.00
50.00
22.22
75.00
50.00
22.22
100.00
50.00
61.11
50.00
50.00
61.11
75.00
50.00
61.11
100.00
75.00
22.22
50.00
75.00
22.09
75.00
75.00
20.32
100.00
75.00
61.11
50.00
75.00
61.05
75.00
75.00
60.16
100.00
100.00
22.22
50.00
100.00
20.32
75.00
100.00
0.00
100.00
100.00
61.11
50.00
100.00
60.16
75.00
100.00
50.00
100.00
f4
0.00
22.22
50.00
0.00
20.32
75.00
0.00
0.00
100.00
0.00
61.11
50.00
0.00
60.16
75.00
0.00
50.00
100.00
25.00
22.22
50.00
25.00
22.09
75.00
25.00
20.32
100.00
25.00
61.11
50.00
25.00
61.05
75.00
25.00
60.16
100.00
50.00
22.22
50.00
50.00
22.22
75.00
50.00
22.22
100.00
50.00
61.11
50.00
50.00
61.11
75.00
50.00
61.11
100.00
table 3: IFS "fantasy", 3x2x3 grid
f5
25.00
100.00
25.00
25.00
100.00
50.00
25.00
100.00
75.00
25.00
61.05
25.00
25.00
61.11
50.00
25.00
61.05
75.00
50.00
100.00
25.00
50.00
100.00
50.00
50.00
100.00
75.00
50.00
61.11
25.00
50.00
61.11
50.00
50.00
61.11
75.00
75.00
100.00
25.00
75.00
100.00
50.00
75.00
100.00
75.00
75.00
61.05
25.00
75.00
61.11
50.00
75.00
61.05
75.00
initial
-21.20
-20.00
-23.37
-21.20
-20.00
23.37
-21.20
-6.67
-23.37
-21.20
-6.67
23.37
-21.20
6.67
-23.37
-21.20
6.67
23.37
-21.20
20.00
-23.37
-21.20
20.00
23.37
21.20
-20.00
-23.37
21.20
-20.00
23.37
21.20
-6.67
-23.37
21.20
-6.67
23.37
21.20
6.67
-23.37
21.20
6.67
23.37
21.20
20.00
-23.37
21.20
20.00
23.37
f1
-2.10
-20.00
-0.10
-2.10
-20.00
0.10
0.90
-13.33
-0.10
0.90
-13.33
0.10
-1.10
-6.67
-0.10
-1.10
-6.67
0.10
-0.10
0.00
-0.10
-0.10
0.00
0.10
2.10
-20.00
-0.10
2.10
-20.00
0.10
1.10
-13.33
-0.10
1.10
-13.33
0.10
-0.90
-6.67
-0.10
-0.90
-6.67
0.10
0.10
0.00
-0.10
0.10
0.00
0.10
f2
-10.00
0.00
-10.00
-10.00
0.00
10.00
-8.00
6.67
-10.00
-8.00
6.67
10.00
-10.00
13.33
-10.00
-10.00
13.33
10.00
-8.00
20.00
-10.00
-8.00
20.00
10.00
10.00
0.00
-10.00
10.00
0.00
10.00
12.00
6.67
-10.00
12.00
6.67
10.00
10.00
13.33
-10.00
10.00
13.33
10.00
12.00
20.00
-10.0
12.00
20.00
10.00
f3
-7.07
-17.07
-10.00
-7.07
-17.07
10.00
-11.79
-12.36
-10.00
-11.79
-12.36
10.00
-16.50
-7.64
-11.00
-16.50
-7.64
9.00
-21.21
-2.93
-7.00
-21.21
-2.93
13.00
7.07
-2.93
-10.00
7.07
-2.93
10.00
2.36
1.79
-10.00
2.36
1.79
10.00
-2.36
6.50
-11.00
-2.36
6.50
9.00
-7.07
11.21
-7.00
-7.07
11.21
13.00
f4
12.20
-17.07
-1.12
-5.12
-17.07
-11.12
14.55
-13.36
-5.21
-2.77
-13.36
-15.21
16.91
-5.64
-9.29
-0.41
-5.64
-19.29
19.27
-2.93
-13.37
1.95
-2.93
-23.37
5.12
-2.93
11.12
-12.20
-2.93
1.12
7.48
0.79
7.04
-9.84
0.79
-2.96
9.84
8.50
2.96
-7.48
8.50
-7.04
12.20
11.21
-1.12
-5.12
11.21
-11.12
table 4: IFS "plant 2", 2x4x2 grid
f5
-5.12
-17.07
11.12
12.20
-17.07
1.12
-2.77
-13.36
15.21
14.55
-13.36
5.21
-0.41
-6.64
19.29
16.91
-6.64
9.29
1.95
1.07
23.37
19.27
1.07
13.37
-12.20
-2.93
-1.12
5.12
-2.93
-11.12
-9.84
0.79
2.96
7.48
0.79
-7.04
-7.48
7.50
7.04
9.84
7.50
-2.96
-5.12
15.21
11.12
12.20
15.21
1.12
initial
-42.43
-40.00
-23.37
-42.43
-40.00
23.37
-42.43
40.00
-23.37
-42.43
40.00
23.37
42.43
-40.00
-23.37
42.43
-40.00
23.37
42.43
40.00
-23.37
42.43
40.00
23.37
f1
-0.20
-40.00
-0.20
-0.20
-40.00
0.20
-0.20
0.00
-0.20
-0.20
0.00
0.20
0.20
-40.00
-0.20
0.20
-40.00
0.20
0.20
0.00
-0.20
0.20
0.00
0.20
f2
-20.00
0.00
-20.00
-20.00
0.00
20.00
-20.00
40.00
-20.00
-20.00
40.00
20.00
20.00
0.00
-20.00
20.00
0.00
20.00
20.00
40.00
-20.00
20.00
40.00
20.00
f3
-14.14
-24.14
-20.00
-14.14
-24.14
20.00
-42.43
4.14
-20.00
-42.43
4.14
20.00
14.14
4.14
-20.00
14.14
4.14
20.00
-14.14
32.43
-20.00
-14.14
32.43
20.00
f4
24.39
-24.14
-2.25
-10.25
-24.14
-22.25
38.53
4.14
-26.74
3.89
4.14
-46.74
10.25
4.14
22.25
-24.39
4.14
2.25
24.39
32.43
-2.25
-10.25
32.43
-22.25
table 5: IFS "plant 1", 2x2x2 grid
f5
-10.25
-24.14
22.25
24.39
-24.14
2.25
3.89
4.14
46.74
38.53
4.14
26.74
-24.39
4.14
-2.25
10.25
4.14
-22.25
-10.25
32.43
22.25
24.39
32.43
2.25
Color plates
Plate 1
Plate 2
Plate 3
Plate 4
Plate 5
Plate 6
Plate 7
Plate 8
tapqua2
twikug6
tapsto10
becqua6
pflqua1a
pflqua1
pflkug6a
pflkug7