Initiator Generator Fractals

The Koch snowflake

An initiator generator fractal is made by recursively replacing the straight lines in an object with a "generator". For example, this is how the Koch snowflake is made:

Initiator
Generator


1 iteration
2 iterations
3 iterations
4 iterations


The initiator itself is essentially "iteration 0". Then for each additional iteration, we replace every straight line with the generator, scaling it down as necessary in later iterations. This soon creates a very intricate snowflake curve.

This system can be used to make many different fractals. The graphical approach makes creating these initiator generator fractals fairly easy to comprehend. Let's look at another example:

Initiator
Generator


1 iteration
2 iterations
3 iterations


Although this graphical approach is easy to comprehend, there is an even easier way to produce these objects. We will make strings to describe the shapes, using characters like F for forward, + for turn right, and - for turn left. This is similar to the approach used in LOGO programming. Now we can represent our last example's initiator and generator with simple strings.


Our theta, or angle of turn, will be 90 degrees.
initiator = F+F+F+F generator = F-F+F+F-FF

Now we've represented the two graphical pieces we start with, but we still need a way to show how they're used to make a fractal. Since each iteration we replace the straight lines (represented by "F") in the figure, we can say:



One move forward changes to forward, left, forward, right, forward, right, forward, left, forward, forward,
or
F: F-F+F+F-FF

This is called a rule. In 1968, Aristid Lindenmayer came up with a new type of string-rewriting mechanism which then became known as L-systems. Any initiator generator fractal may be made by coming up with the string representation and applying the correct methods. Next we will discuss L-systems in further complexity.


Go on to part 2