Mandelbrot set, the most popular geometrical fractal. There are lots of sites that
generate this fractal, why should you choose this one? Here are few of them:
you can set your own color scheme, this is something that I haven’t
seen, and its very useful and cool and another one is that you can make custom size fractals,
including king size fractals for posters. Also, you can make optimum size fractal images
for posters and mouse pads with your fractal.

About Mandelbrot set

Ok, lets talk a bit about the Mandelbrot set itself. Actually lets start with the
geometrical fractal, because this is what the Mandelbrot set is. A geometrical fractal
is a set of points in the complex plane that have different colors according to
an algorithm.

The Mandelbrot set is calculated based on this formula Z^{2} + Z_{0}.
To create the Mandelbrot set we have to move through the complex plane between its
borders and apply that function (actually apply the function multiple times) for
each point. Usually the start up interval is -2 to 2 on both real and imaginary
axis. So, we are talking about quite a few computations. Luckily this is a simple
recursive algorithm and a computer program has no problems running it.

We have 2 types of points in the Mandelbrot set: points that are in the set and
points that are outside the set. The points that are in the set are the black points,
and the rest are points outside the set.

The interesting points are those outside the set, those are colored and can generate
very nice images. So, how are those calculated and what does that color means?

The color means the number of iterations it takes for the function to escape to
infinity. The points inside the Mandelbrot set (the black points) are points that
never escape to infinity, and the rest of the points are points that escape to infinity
in a certain number of iterations. The number of iterations it takes to escape to
infinity defines the color of the respective point. We assume a point escaped to
infinity when the distance between the point and the origin is greater than the
value 2.

Lets take an example, actually 2 examples to understand better.

Example 1

Lets start with the point -0.5 + i. For this, the distance to the origin is 1.12,
so less than 2. So, we will apply the Mandelbrot function to compute the next point
like this: Z^{2} + Z_{0} where Z = -0.5 + i and Z_{0} =
0.5 + i. We will get the value -1.25. This is less than 2, so we move to the next
point. Now, we will compute the Mandelbrot function Z^{2} + Z_{0}
for Z = -1.25 and Z_{0} = -0.5 + i. This means 1.06 + i. The distance to
the origin for this point is 1.46, so less than 2. We move on so forth. You can
look at the table bellow for a better understanding.

Step

The current value of Z

Distance to the origin

1

-0.5 + i

1.12

2

-1.25

1.25

3

1.06 + i

1.46

4

-0.37 + i * 3.1

3.15

So, in this example it took us 4 steps to escape to infinity. All the points that
need 4 steps to escape to infinity will have the same color with this. For the color,
we can either have a fixed set of colors for each iteration or is computed dynamically
based on gradients like in this site.

PS: I won’t get into details of how the color is computed, but its related to the
total number of iterations. The bigger the number of iterations, the closer is the
color to the color that escapes to infinity. The less number of iterations, the
closer is the color to the color that never escapes to infinity.

Example 2

Lets start with 0.2 + 0.5i. II will present directly the table, the algorithm is
identical with the one above.

Step

The current value of Z

Distance to the origin

1

0.2 + i * 0.5

0.54

2

-0.01 + i * 0.7

0.7

3

-0.29 + i * 0.49

0.57

4

0.05 + i * 0.22

0.22

5

0.15 + i * 0.52

0.54

6

-0.05 + i * 0.66

0.66

7

-0.23 + i * 0.44

0.48

8

0.06 + i * 0.3

0.3

..

.........

....

As you can see, the point never escapes to infinity. We well assume this after we
reached the maximum number of iterations.

So, basically that’s it. This is how the Mandelbrot set is calculated. For all the
other sets, it’s an identical algorithm, but it just starts with a different complex
function.