Formula Used in the IFS Fractal Applet

The IFS Fractal Applet generates fractals from an IFS (Iterated Function System). The function system is set up from a number of lines of IFS code. These lines are in the form of 7 real numbers. To explain what these numbers do, we will look at a single line of IFS code like

<param name="line0"
       value="a b c d e f g" />

These numbers are converted to a matrix equation to find the next point to draw by looking at the previous one. For example, to get from the point (x, y) to the next point, (X, Y), the following equation would be used:

( X ) = ( a b ) ( x ) + ( e )
Y c d y f

By now you may be wondering what the number g was for. It is the probability that this particular transformation will occur. This means that the sum of the g values of all the lines of IFS code should equal 1.0 exactly. In this way, we bring a bit of randomness into the decision on where the next point will be.

By iterating this process, and plotting each new point, for a given set of lines of IFS code, certain shapes always seem to form, reguardless of the starting point or the random number generator's seed.