Anda di halaman 1dari 50

# 3.

## Iterated Function Systems

Construction by Initiator and Generator
Cantor Set

Koch Curve

Sierpinski Gasket

Christoph Traxler

## Construction by Affine Transformations

Cantor Set
A

Koch Curve
A

Sierpinski Gasket

A
Christoph Traxler

scale(1/3) A
scale(1/3) move(2/3) A
scale(1/3, 1) A
scale(1/3, 1) rot(60)
move(1/3, 1) A
scale(1/3, 1) rot(120)
move(2/3, 1) A
scale(1/3, 1) move(2/3, 0) A
scale(1/2, 1/2) A
scale(1/2, 1/2) move(1/2, 0) A
scale(1/2, 1/2) move(1/4, 1/2) A
2

3.1

## 3. Iterated Function Systems

Iterated Function Systems (IFS)
Formal description for constructing linear
fractals
An IFS consists of a complete metric space
(X,d) and a finite set of contraction mappings
{ f1,...,fn } with contraction factors s1,...,sn
Notation: {X; f1,...,fn }
Classical IFS are of the form: {R2; f1,...,fn }
and {R3; f1,...,fn }

Christoph Traxler

## The Hutchinson Operator

Defined by Hutchinson (1981)
For an IFS {X;f1,...,fn} the Hutchinson
operator W is defined by:
W(A) = f1(A) f2(A) ... fn(A) , i.e.
n

i 1

## Hutchinson was able to show that W is a

contraction mapping with respect to the
Hausdorff distance h(d)
Christoph Traxler

3.2

## 3. Iterated Function Systems

The Hutchinson Operator
The contraction factor s of W is defined by:
s = max{s1,...,sn}
Thus the contraction mapping principle can
be applied to iterations of W in (H(X),h)
W has an unique fixpoint A, the attractor
of the IFS, W(A) = A
All other sets converge to this attractor

A lim An ,

A H (X )

Christoph Traxler

Sequences in H(X)
Sequences {An}, An H(X) of complex sets

A lim An lim h( A , An ) 0
n

A
Christoph Traxler

3.3

## 3. Iterated Function Systems

Attractor of an IFS
Frequently the attractor of an IFS is a
fractal set
An IFS is a short and compact description
(encoding) for very complex objects
Memory amount for {R2;f1,...,fn} are 6n floating
point values

Christoph Traxler

## The IFS Feedback System

The Hutchinson operator is used in a
feedback system to decode an IFS
n

An

Christoph Traxler

W ( A) f i ( A)
i 1

3.4

An 1

## 3. Iterated Function Systems

The IFS Feedback System
A non symmetric image shows the effect of
the transformations fi
A1 of such an image is called blueprint of
the IFS

A0

W
A1

Christoph Traxler

IFS Examples
3 similarity
transformations
with s = 0.5

3 intersecting
similarity
transformations
(Dragon curve)
Christoph Traxler

10

3.5

## 3. Iterated Function Systems

IFS Examples
Fractal subdivision curve, fractal tiling

Christoph Traxler

11

IFS Examples
Crystal structure
generated
with 4 similarity
transformations
Crystal structure
generated
with 5 similarity
transformations

Christoph Traxler

12

3.6

IFS Examples

## A tree like structure

obtained with
non uniform scaling & flip
and 4 shearings
13

Christoph Traxler

IFS Examples
Matrix for Barnsleys fern
fi

0.894

## 0.037 -0.037 0.849

0.075

0.183

0.197 -0.226

0.226 0.197

0.4

0.04

3 -0.15

0.283

0.26

0.237

0.575

-0.084

0.0

0.0

0.16

0.5

0.0

0.0

Christoph Traxler

14

3.7

## 3. Iterated Function Systems

Self Affinity
Objects that are composed of affine copies
of themselves are called self affine
If all fi of an IFS are similarity transformations
then the attractor is self similar, else self
affine
A = f1(A) f2(A) ... fn(A)
Self similarity dimension can only be applied
to self similar IFS attractors and if
f1(A) f2(A) ... fn(A) =
Christoph Traxler

15

## The Box Counting Dimension

Put the structure onto a regular grid with
box size s
Count the number N(s) of non empty boxes
Change s progressively to smaller sizes
and count the corresponding N(s)
Plot the measurements into a
logN(s)-log(1/s) diagram
The slope of the resulting line is the box
counting dimension DB
Christoph Traxler

16

3.8

## 3. Iterated Function Systems

The Box Counting Dimension

DB = 1.31
Christoph Traxler

17

## The Box Counting Dimension

Applicable to self affine fractals and self
intersecting structures
DB=DS (self similarity dimension) for self
similar fractals
Most used measurements in all the sciences
Easy and fast to calculate
Can be extended to objects that are
embedded in higher dimensional space

Christoph Traxler

18

3.9

## 3. Iterated Function Systems

Classical Fractals by IFS
The IFS for the Cantor set:
{R;f1,f2} with
f1 = x/3
f2 = x/3+2/3
There are no escaping points if W is used in
the feedback system
Thus there are at least 2 different feedback
systems which have the Cantor set as fix
point

19

Christoph Traxler

## Classical Fractals by IFS

Combination of functions define self similar
parts
Functions can be used to extract these parts
A
f1(A)

f2(A)

## W(A) = f1(A) f2(A)

W2(A)

f1f1(A) f1f2(A)

Christoph Traxler

f2f1(A) f2f2(A)

20

3.10

## 3. Iterated Function Systems

Classical Fractals by IFS
The IFS for the Sierpinski gasket:
{R2; f1,f2 ,f3 } with
f1 (x,y) = (x/2, y/2);
f2 (x,y) = (x/2+1/2, y/2);
f3 (x,y) = (x/2+1/4, y/2+1/2)
W2(A)
f3(A)
A
f1(A)

f2(A)

## W(A) = f1(A) f2(A) f3(A)

Christoph Traxler

21

## Relatives of the Sierpinski Gasket

Variations of an IFS can be easily achieved
by altering the configuration of its
transformations

Christoph Traxler

22

3.11

## 3. Iterated Function Systems

The IFS Decoding Problem
Given: an IFS {R2; f1 ,f2 ,..., fn}
Problem: efficient visualization of the
attractor by a sufficiently good approximation
The number of iterations depends on the
resolution in pixels and on the initial image
The iteration is terminated if the difference
between 2 successive steps is below pixel
resolution

Christoph Traxler

23

## The IFS Decoding Problem

Estimated effort for Barnsleys fern:
The attractor covers 500200 pixels
We use a rectangle to approximate A
Then the number of iterations N solves the
equation: 5000.85N = 1 N 39
Thus the number M of rectangles that have
to be calculated and drawn is
M = 1+4+42 + ...+4N = (4N+1 -1)/3 439
1.261029 >> age of universe

Christoph Traxler

24

3.12

## 3. Iterated Function Systems

The Stochastic Method
Given: an IFS {R2; f1,f2,...,fn} and an
arbitrary starting point x0
N must be huge to obtain a good result
for(p=x0,i=1; i<N; i++){
j = rand(1,n);
p = f[j](p);
draw p;
}

Christoph Traxler

25

## The Stochastic Method

The selection of the transformations with
equal probabilities slows down the
convergence process for IFS for self affine
attractors
Uneven coverage between larger and smaller
self-affine parts of the attractor
Better solution: A probability pi is assigned
to each transformation fi (pi = 1)

Christoph Traxler

26

3.13

## 3. Iterated Function Systems

Tuning Stochastic Method
Example: Sierpinski gasket
0.04
f30.2

0.1
0.1

f1 0.5

f2 0.3

0.25

Probabilities for fi
Christoph Traxler

0.15

0.06
0.06
0.15

0.09

## Probabilities for a point to

hit a triangle of W2(S)
27

## Tuning the Stochastic Method

Different probabilities make no sense for IFS
with strict self similar attractors but for those
with self affine attractors

1000 iterations
Christoph Traxler

10000 iterations
28

3.14

## 3. Iterated Function Systems

Tuning the Stochastic Method
How the probabilities should be set for a
specific IFS ?
It is a difficult and still unsolved mathematical
problem to determine the best choice for the
probabilities pi
Heuristic: Set pi according to the area that is
covered by the transformation fi
This yields to a better distribution of the
points among the attractor
29

Christoph Traxler

## Tuning the Stochastic Method

If f is an affine transformation f(x) = Ax+b,
then the area of f(X) = |det A| area of X
Ai is the matrix of fi(x) = Aix+bi, i = 1,2,...,n

Thus

## The random sequence of points is evenly

distributed among the area of the attractor

Christoph Traxler

30

3.15

## 3. Iterated Function Systems

Tuning the Stochastic Method
Effect for Barnsleys fern:
100 000 iterations
Left: with
equal probabilities
Right: tuned method

Christoph Traxler

31

## Properties of the Stochastic Method

Stochastic algorithm generates deterministic
shapes
Starting point x0 A:
{xn} rapidly converges to A, the first k points
can be far away from A dont draw these
points

Starting point x0 A:
{xn} A, the orbit of xn on the attractor is
chaotic even distribution among the
attractor with high probability
Christoph Traxler

32

3.16

## 3. Iterated Function Systems

Color Pictures of Attractors
Counting the frequency of hits for each pixel
during iterations
Afterwards each pixel is set to a color
according to the corresponding counter value
Given: A MN pixel raster, which covers the
XY rectangle that contains the
attractor and an array F[M][N]

Christoph Traxler

33

## Color Pictures of Attractors

for(p=x0,i=1; i<MAX_ITERATIONS; i++){
j = select(); // according to probabilities
p = f[j](p);
m = (int)((p.x+xoffset)*M/X); // nxm-raster
n = (int)((p.y+yoffset)*N/Y);
F[m][n]++;
}
for(i=0; i<M; i++)
for(j=0; j<N; j++) // using a lookup table
if(F[i][j]!=0)
draw(i,j,colors[F[i][j]%numCol]);

Christoph Traxler

34

3.17

## 3. Iterated Function Systems

Color Pictures of Attractors
Using the indices of the last n functions to
select a color from a lookup table
Apply the inverse IFS to the corresponding
points of all pixels and use the escape time
from A to calculate colors
To achieve good results it is necessary to
apply transfer functions for color
assignment

Christoph Traxler

35

## Color coding the metric

space around the fern
attractor
A leaf like structure
Christoph Traxler

36

3.18

## 3. Iterated Function Systems

Color Pictures of Attractors
Color
coding of
the maple
leaf

Christoph Traxler

37

## Color Pictures of Attractors

Black forest, - composition of
several IFS attractors

## Zoom into black forest

Christoph Traxler

38

3.19

## 3. Iterated Function Systems

Adaptive Cut Method
Covering of the attractor by sets which have
a diameter < > 0
n sets: A f1(A) f2(A) ... fn(A)
n2 sets: A f1f2(A) f2f1(A) ... fnfn(A)
nm sets after m iterations of the form :
fs1fs2 ... fsm (A)

si {1,2,...,n}

## All fsi are contractions after m iterations

the diameter of all sets is <
39

Christoph Traxler

## Adaptive Cut Method

The most of the final nm covering sets are
much smaller than necessary
Subdividing sets:
A= f1(A) f2(A) ... fn(A)
fk(A) = fkf1(A) fkf2(A) ... fkfn(A)
fkfl(A) = fkflf1(A) fkflf2(A) ... fkflfn(A)
Christoph Traxler

40

3.20

## 3. Iterated Function Systems

Adaptive Cut Method
In the nth level of subdivision we obtain
subsets of the form:
fs1fs2 ... fs(n-1) f1,
fs1fs2 ... fs(n-1) f2,
fs1fs2 ... fs(n-1) fn,

## Keep those subsets which are small

enough and subdivide the others

41

Christoph Traxler

## Adaptive Cut Method

Example: {R2; f1,f2}
f2
f1

f2f2

f2f1
f2f2f1

f2f2f2
Diameter

## Diameter (f2f2f1 f2f2f2) >

Christoph Traxler

42

3.21

## 3. Iterated Function Systems

Adaptive Cut Method
Approximation of the attractor with
prescribed precision
It is possible to check the distance of {xn}
to A termination criterion (there is no
such criterion for the stochastic method)
Complex shapes can be used to visualize
the attractor

43

Christoph Traxler

## Adaptive Cut Method

9 iterations with the
adaptive cut method

9 iterations of the
Hutchinson operator

Christoph Traxler

44

3.22

## 3. Iterated Function Systems

The Encoding Problem
Problem: Find an IFS that generates the
desired image
Data base amplification (Smith 84): very
complex objects emerge from a very small
data base
Iteration of the Hutchinson operator is
sensitive
Small changes of a given IFS usually result in
large changes of its attractor
Christoph Traxler

45

## The Encoding Problem

Find an IFS that generates a given image I
Find a decomposition of I, so that
I = W(I) = f1(I) f2(I) fn(I)
I is the attractor of the IFS {R2; f1,f2,...,fn}
Thus I must be a self affine image
If I is not self affine, we try to approximate I
by W(A) so that h( I, W(A) ) <

Christoph Traxler

46

3.23

## 3. Iterated Function Systems

The Encoding Problem
How can the quality of an approximation
be assessed ?
How can we identify suitable
transformations ?
How can the number of necessary
transformations be minimized ?
What is the class of images suitable for this
approach ?

47

Christoph Traxler

## The Collage Theorem

Let (X,d) be a complete metric space, I
H(X) and {X; f1,f2,...,fn} an IFS with contraction
factor s, so that
n

h( I , f i ( I )) h( I , W ( I ))
i 1

then:
h( I , W )

Christoph Traxler

1 s

h( I , W )

48

3.24

h( I ,W ( I ))
I H (X )
1 s

## 3. Iterated Function Systems

The Collage Theorem

h ( I ,W )

## Proof of the theorem:

h( I ,W ( I ))
1 s

h( I ,W ( I )) h( I ,W ( I )) h(W ( I ),W 2 ( I ))
h(W 2 ( I ),W 3 ( I )) ... h(W ( I ),W ( I ))
h( I ,W ( I )) h( I ,W ( I )) s h( I ,W ( I ))
s 2 h( I ,W ( I )) ... s n h( I ,W ( I )) ...

h( I ,W ( I )) h( I ,W ( I )) (1 s s 2 ...s n ...)

1 / 1 s

Christoph Traxler

49

## The Collage Theorem

W(I) = f1(I) f2(I) ... fn(I) is called
collage of I
There are arbitrary many IFS for the
approximation of an image I
Small : good approximation of I by W,
large number of fn necessary
Large : bad approximation, small
number of fn sufficient

Christoph Traxler

50

3.25

## 3. Iterated Function Systems

The Collage Theorem
Rapid and even convergence to A if
fm(A) fn(A) is small for m n
good collage
Slow and uneven convergence to A if
fm(A) fn(A) is large for m n
bad collage

51

Christoph Traxler

## The Collage Theorem

Collages for a leaf
Good collage

Bad collage

Christoph Traxler

52

3.26

## 3. Iterated Function Systems

The Collage Theorem
Initial image

Polygon
capturing
the outline

Collage

Christoph Traxler

Approximation
of A

53

## The Collage Theorem

Collage for Barnsleys
fern
Approximation of A

f1
f2
f4

f3
Collage

Capturing polygon

Christoph Traxler

54

3.27

## 3. Iterated Function Systems

The Collage Theorem
Answers to the questions:
How can the quality of an approximation
be assessed ?
with h(A,A)
How can we identify suitable
transformations ?
with good collages

Christoph Traxler

55

## The Collage Theorem

Answers to the questions:
How can the number of necessary
transformations be minimized ?
h(I,W(I)) has to be minimized among all
admissible choices of W, NP-complete
What is the class of images suitable for this
approach ?
all images with a high degree of self
affinity

Christoph Traxler

56

3.28

## 3. Iterated Function Systems

Hierarchical IFS (HIFS)
Extension of the IFS concept
Building networks of IFSs
Breaking self affinity

## Non self affine fern

(different phyllotaxis of the
leaves)

## 1st order leaf

57

Christoph Traxler

## Hierarchical IFS (HIFS)

The IFS network for the non self affine fern:
f1(F)

f1(F)
F

f2(L) f3(L)

f2(L) f3(L)
L
f4(L) f5(L) f6 (L)

## f4(L) f5(L) f6(L)

Christoph Traxler

Representation as graph
58

3.29

## 3. Iterated Function Systems

The Hutchinson Operator for HIFS
Defined by:

WH Wij ( B j )
i 1 j 1

## where W is a NM matrix of Hutchinson

operators and B a N-dimensional vector of
images HN(X)
W11 W1M

W
N 1 WNM

B1

B
B
N

59

Christoph Traxler

## The Hutchinson Operator for HIFS

Example: Matrix for the non self affine fern

f
WH 1

f 2 f3

f 4 f 5 f 6

(A)=A A H(X)

f1(F)
F
f2(L) f3(L)

Constant operator

L
f4(L) f5(L) f6 (L)

Christoph Traxler

60

3.30

## 3. Iterated Function Systems

The Hutchinson Operator for HIFS
(HN(X),hN) is a complete metric
space with respect to the distance hN:
hN(A,B) = max{h(Ai ,Bi) | i=1...N}
WH: HN HN is a contraction mapping, thus
the contraction mapping principle can be
applied and A HN(X)
Unique attractor: A lim WH ( An )
n

Christoph Traxler

61

## Stochastic Method for HIFS

A probability P[i,j] is assigned to each W[i,j]
of WH so that
P[i,1] + ... + P[i,M] = 1 for each row i where
P[i,j] = 0 if W[i,j] =
for(P=X0, Q=ZEROVEC, u=1; u<MAX_IT; u++){
for(i=0; i<N; i++){ // working with image vectors
j = select_W(i);
// select W from row i
k = select();
// select one f from w[ij]
Q[i] = W[i][j].f[k](P[i,j]);
}
P = Q; Q = ZEROVEC;
}
Christoph Traxler

62

3.31

## 3. Iterated Function Systems

Example: The Sierpinski Fern
F
f1(F)
f2(L) f3(L)
L
f4(F)
f5(L) f6(L)
S
f7(L) f8(L) f9(L)

f1

WH

f 2 f3
f4

f5 f6
f 7 f 8 f 9

63

Christoph Traxler

## Fractal Image Compression

Images are usually not
self affine
Using HIFS
Contrast (si) and
brightness (oi) adjustment
for each iteration
Mask that only selects part of the image to be
copied
x ai

wi y ci
z 0

Christoph Traxler

bi
di
0
64

3.32

0 x ei

0 y f i
si z oi

## 3. Iterated Function Systems

Fractal Image Compression
Partition image I into ranges
Ri, so that:
Image is fully covered
Blocks do not intersect

Ri

## For each Ri seek a domain

Di with a low RMS error
MSE

Christoph Traxler

1
2

(
p

p
)

ij
ij
pixels i , j

Di

RMS MSE

65

## Fractal Image Compression

We then get a map of transformations W,
which encodes an approximation of the
image I
Find the appropriate transformations
(optimization problem)
For each Ri find a good choice for domain Di
Find good contrast si and brightness oi
settings (least squares regression)
Pick Di with lowest RMS
Christoph Traxler

66

3.33

## 3. Iterated Function Systems

Fractal Image Compression
Image segmentation in fixed sized range
blocks
More complex partitioning yields better
quality, but also increases overhead
Quadtree

Christoph Traxler

Kd-Tree

67

## Fractal Image Compression

Christoph Traxler

68

3.34

Delauney

## 3. Iterated Function Systems

Fractal Image Compression
Fractal decoded

Christoph Traxler

Original Image

69

## Fractal Image Compression

Better or similar results than JPEG
Encoding with high complexity
Parallel processing
Fast decoding, slow encoding

## Patented by Barnsleys company Iterated

Systems Inc.
Used for Microsoft Encarta
Fractal video compression used for early
versions of Real Video codec
Christoph Traxler

70

3.35

## 3. Iterated Function Systems

IFS in 3D
A 3D-IFS {R3; f1,f2,...,fn} consists of a finite
set of contraction mappings, which are
defined by: f(x) = Ax + b, where A is a 3x3
matrix and b a vector R3
The Hutchinson operator is defined as for R2
The contraction mapping principle holds,
each 3D-IFS has a unique attractor

71

Christoph Traxler

Basic Transformations in R3
Rotation around the
x-axis

0
1

0 cos
0 sin

y-axis

cos

0
sin

## Rotation around the

z-axis

cos

sin
0

Christoph Traxler

72

3.36

sin
cos

0 sin

1
0
0 cos
sin
cos
0

0
1

## 3. Iterated Function Systems

Basic Transformations in R3
Shearing along xy
plane

1 0 sx

0 1 sy
0 0 1

Shearing along xz
plane

1 0 sx

0 1 0
0 0 s
z

Shearing along yz
plane

1 0 0

0 1 sy
0 0 s
z

## Scaling along all axes

Christoph Traxler

73

fx

0
0

0
fy
0

0
f z

Visualization of a 3D-Attractor
The visualization of A is more complicated
in 3D than for 2D-IFS
Stochastic method in space:
Poduces a cloud of points
Fast preview of the attractor

## Ray Tracing of attractors:

High quality images (photo realism)
Approximation by simple primitives

Christoph Traxler

74

3.37

## 3. Iterated Function Systems

Stochastic Method in Space
Spatial random orbit produces a cloud of
points, which are projected onto the screen
Depth cueing is used to increase the 3D
impression, i.e. points closer to the eye are
drawn with a brighter color than points far
away

Christoph Traxler

75

## Stochastic Method in Space

Using a Z-Buffer:
Small spheres are used instead of points
They can be shaded with respect to
different light sources
Correct visibility is achieved by using a
Z-Buffer to render the spheres
The spheres of the orbit can be rendered
successively, - it is not necessary to store
the whole orbit

Christoph Traxler

76

3.38

## 3. Iterated Function Systems

Stochastic Method in Space

Barnsleys ferns in 3D
Tapered Sierpinsky tetrahedron
Christoph Traxler

77

## Ray Tracing of 3D-Attractors

Problems:
Intersection of a ray with a fractal is
very difficult, - no simple equation
Surface normals are undefined,
because fractals are not differentiable
Fractals aliases at all sampling
resolutions, because they have infinite detail

Christoph Traxler

78

3.39

## 3. Iterated Function Systems

Ray Tracing of 3D-Attractors
Approach: approximation with small solid
primitives (sphere, cube, tetrahedron, ...)
The projected area of each primitive
should be smaller than a pixel
A huge number of primitives is necessary
to build up a good approximation
Very high memory consumption

Christoph Traxler

79

## Ray Tracing of 3D-Attractors

Object representation of the approximation of
a fractal:

Tree

Christoph Traxler

Directed
Acyclic
Graph
(DAG)
80

3.40

Cyclic graph

## 3. Iterated Function Systems

Ray Tracing of 3D-Attractors
Object representation of the approximation of
a fractal:
Tree: Internal nodes contain bounding
volumes, leaves contain primitives and
transformations
Dag: Nodes contain
bounding volumes and transformations
Cyclic graph: All nodes contain bounding
volumes and transformations
Bounding volumes are used as primitives
Christoph Traxler

81

## Ray Tracing of 3D-Attractors

Method of J.Hart and deFanti (91):
Using a bounding volume hierarchy
Given: a top level bounding sphere BS, which
encloses the attractor of an 3D-IFS
If BS is intersected by a ray the Hutchinson
operator W is applied to it

Christoph Traxler

82

3.41

## 3. Iterated Function Systems

Ray Tracing of 3D-Attractors
The new bounding spheres {BS1,...,BSn} are
tested against the ray and W is applied to
those which are intersected
The method continues recursively until the
bounding spheres have a diameter <
Finally these small bounding spheres are
used as primitive objects

Christoph Traxler

83

## Ray Tracing of 3D-Attractors

Ray

Christoph Traxler

84

3.42

## 3. Iterated Function Systems

Ray Tracing of 3D-Attractors
Termination is guaranteed because W is a
contraction mapping
The new bounding spheres are always
enclosed by its parent bounding sphere,
no chance to miss a part of the attractor
It is faster and simpler to apply the inverse
IFS to the ray and to test different rays
against the top level BS

Christoph Traxler

85

## Ray Tracing of 3D-Attractors

The five non platonic non solids:

Christoph Traxler

86

3.43

## 3. Iterated Function Systems

Ray Tracing of 3D-Attractors

Christoph Traxler

87

## Ray Tracing of 3D-Attractors

Christoph Traxler

88

3.44

## 3. Iterated Function Systems

Ray Tracing of 3D-Attractors

Christoph Traxler

89

## Ray Tracing of 3D-Attractors

Christoph Traxler

90

3.45

## 3. Iterated Function Systems

Ray Tracing of 3D-Attractors

Christoph Traxler

91

## Ray Tracing of 3D-Attractors

Christoph Traxler

92

3.46

## 3. Iterated Function Systems

Ray Tracing of 3D-Attractors
Antialiasing is achieved by hierarchical
shading
The resulting surface normal is the weighted
sum of the normals at the intersections of the
ray with the ancestry of bounding spheres
that surround the ray-fractal intersection point

Christoph Traxler

93

## Ray Tracing of 3D-Attractors

Different weighting methods possible:
Constant, average of normals
Low pass, dampens normals of smaller
spheres
High pass, dampens normals of larger
spheres

Christoph Traxler

94

3.47

## 3. Iterated Function Systems

Ray Tracing of 3D-Attractors

Constant
Christoph Traxler

Low pass

High pass

95

## Ray Tracing of 3D-Attractors

Nonlinear functions for linear fractals?

Christoph Traxler

96

3.48

## 3. Iterated Function Systems

Fractal Flames
Non linear mapping F of the Hutchinson
operator:
n

W ( A) F ( f i ( A))
i 1

## Log density visualization

For each point calculated by stochastic
method the density of the corresponding pixel
or voxel is increased

## Transfer functions for coloring

Use splines to map density to r, g, b,
Christoph Traxler

97

Fractal Flames

Christoph Traxler

98

3.49

## 3. Iterated Function Systems

IFS Links
Ray Tracing IFS:
www.youtube.com/watch?v=ztcDsP5gn8w
www.youtube.com/watch?v=lRMqUWe4jAE&feat
ure=relmfu

Artistic fractals:
www.enchgallery.com/fractals/fracthumbs.htm

Flames:
flam3.com/ (link to Electric Sheep)
flickr.com/photos/neonarcade/sets/308937/
www.youtube.com/watch?v=812oA65PixI
Christoph Traxler

99

3.50