Mathematics of Iterated Function System (IFS) Fractals


IFS Fractals were developed by Michael Barnsley. This system has the ability to create realistic images with very small sets of numbers. It can encode a scene of almost any level of complexity and detail as a small group of numbers, thereby achieving amazing compression ratios of images of 100 or more. Barnsley's Collage Theorem provides the basis for converting natural images into IFS code, and a random iteration algorithm is used to "decode" the data back to images. The IFS code is actually a set of affine transformations. An affine transformation maps a point back into the same set of points it came from, e.g. a graphic plane of width W and height H, such a computer screen. Imagine a rectangle to which an affine transformation is applied. The transformation can scale, stretch, skew and rotate the rectangle, still keeping it within the confines of the graphic plane of width W and height H. The image produced is a fractal. 

For the two dimensional case the affine transformations have the following form:

xn+1 = axn + byn + e

yn+1 = cxn + dyn + f

The coefficients a ... f are the IFS "code". A given image will normally require multiple transformations, each with their own set of coefficients. In the random iteration algorithm each transformation is assigned a probability p. With each round of iteration one of the transformations is chosen randomly, using the probability as factor in the choice, and the transformed point is plotted on the graphic plane. As the points are plotted the image emerges. The following example generates a maple leaf. The maple leaf uses four affine transformations. The coefficients and the probabilities are given in the following table:

a b c d e f p
0.14 0.01 0.00 0.51 -0.08 -1.31 0.10
0.43 0.52 -0.45 0.50 1.49 -0.75 0.35
0.45 -0.49 0.47 0.47 -1.62 -0.74 0.35
0.49 0.00 0.00 0.51 0.02 1.62 0.20

The next two images show the maple leaf, and a representation of the maple leaf which shows the regions of the maple leaf that come from each transform. As can be seen from the image showing the regions, the maple leaf is put together with pieces that look like maple leaves (self-similarity - the hallmark of fractals):

The most famous of IFS images is probably the spleenwort fern, shown in the next image. The following table has the IFS code for producing the image.

a b c d e f p
0.00 0.00 0.00 0.16 0.00 0.00 0.01
0.85 0.04 -0.04 0.85 0.00 1.60 0.85
0.20 -0.26 0.23 0.22 0.00 1.60 0.07
-0.15 0.28 0.26 0.24 0.00 0.44 0.07

For those who are interested in IFS fractals as an artistic tool, the program Apophysis is an excellent tool.

IFS fractals can also be generated using Möbius transformations. A set of Möbius transformations is applied to a point or set of points. A single transformation is used for each iteration, with the transform used selected randomly by the same method used for affine transformations described above. The equation for a Möbius transformation is the following:

T(z) = (az + b)/(cz + d)

where a, b, c and d are complex parameters, and z is a complex variable. The image can be discrete as in the Apollonian gasket image

or more whimsical and similar to images created with affine transformations.

These two images were generated using the IFS Möbius coloring formula created by this author, which can be found in the UltraFractal database.