How are Fractals created with Fractaline ?

The drawing or construction of every fractal follows a simple plan: Start with a graph (the so called initiator) and replace each of the graph’s segments with a transformed version of another graph (the so called generator). Do the replacement recursively until a certain number of iterations is reached, then draw the resulting graph.

All the classic fractals are constructed this way. However these are just the instructions for constructing the fractal. What gives each fractal its own individual shape are the properties of the graphs used for construction, especially the generator’s properties.

It should be clear now, that you define the fractal’s appearance by defining it’s initiator and generator. These two graphs (which can be one and the same graph, if initiator and generator have the same shape) have to be defined with Fractaline’s graph editor before Fractaline can draw the fractal.

Construction of the Koch Curve

As an example we look at the construction of a classical fractal, the "Koch Curve" (after the mathematician Helge von Koch), also known as "Snowflake Curve".

The initiator is the simplest of all graphs, a straight line. It has only one segment:

Note: The (2) refers to the number of the generator graph for the segment. Since Fractaline numbers a fractal’s graphs, 1 is the number given to the initiator and 2 the number of the generator. See also Special Features of Fractaline

These are the properties of the initiator graph:

SegmentStart PointEnd Point
XY XY
1 00 10

The generator consists of four segments:

SegmentStart PointEnd Point
X Y X Y
1 0 0 1/30
2 1/30 1/2sqrt[3]/6
3 1/2sqrt[3]/62/30
4 2/30 1 0

If we follow the instructions for creating the fractal, we start with the initiator and replace its single segment with a copy of the generator. The result of this first step is - of course - a copy of the generator itself:

(length: 4/3)

In the second step we replace each segment of the above graph with a transformed copy of the generator. Transformed means, that the copy of the generator has to be scaled, rotated and translated according to length, orientation and position of the segment it is going to replace. The result of the second step of iteration looks like this:

(length: 16/9)

We continue the recursive replacement with a third step, where we again replace each segment of the graph from the second step with a transformed copy of the generator. Here is how the Koch curve looks after three iterations:

(length: 64/27 )

...and here it is after four iterations:

(length: 256/81)

Note that the length of the curve increases with each iteration. The more steps we make, the better is the approximation to the true mathematical fractal which has infinite length. Constructing a true fractal however would require to iterate endlessly. Besides, computer power and screen resolution set limits to what can be achieved. When drawing fractals with Fractaline, you set the number of iterations you want (up to 10).

While experimenting, you will notice that the more iterations you choose and the more complex the generator is, the longer takes the drawing of the fractal (drawing time also depends on the power of your computer, of course). Don’t worry, you don’t have to wait, Fractaline lets you stop slow drawing with a buttonclick.

Special features of Fractaline

Individual generators

With Fractaline you can assign an individual generator for each segment of a graph. With Fractaline’s graph editor you are allowed to create an arbitrary number of graphs, which can serve as generators for segments. Note that a segment can have no generator at all, that means it is not subject of recursive replacment, but will be drawn "as is" instead. More than one generator and individual assignment adds to the number and complexity of possible fractals you can create with Fractaline.

Pixel threshold

At some point the segments of the resulting graph can get very small. In fact, they can be smaller than a pixel on your computer screen. Because it makes not much sense, to iterate further on these tiny segments (it only takes time and does not allways affect the appearance of the fractal), you have the option to set a "threshold" value. If the length of a segment in pixels is smaller than the threshold value, iteration stops for this segment.

Back to the Fractaline main page...


Fractaline was created by Peter Laubender - Last update on Sunday, March 28 1999