**What is the Mandelbrot Set, and How is it
Drawn?**

**Fractals**

In the images we are generating, the *boundary* between the Mandelbrot set
(the black part) and the colorful part is an example of a "fractal".
What's a fractal? Here is a partial explanation:

Most geometrical shapes that you run across are *not *fractals.
Non-fractals have the property that the closer you zoom in on them, the smoother
(or straighter) the edges become. For example, imagine a very twisty road,
seen from high above, then imagine zooming in a little, then a little more, then
a little more, etc. The closer you zoom in, the straighter the road
segment looks.

Unlike a twisty road or most other geometrical shapes that we are accustomed to, fractals have the interesting property that as you zoom in further and further, you discover more and more detail! And this process is unbounded. No matter how many times you zoom in, you will continue to see increasing detail. A fractal is a shape with "infinite complexity".

(The preceding was not really a proper definition of the term "fractal" -- for more information, please see this link about fractals.)

**Complex Numbers**

In order to understand how the Mandelbrot Set is constructed, you must have a
basic knowledge of Complex Numbers. Before reading any further on this
page, please read this introduction to complex numbers
and performing arithmetic with them.

**The Mandelbrot Recurrence**

Let z_{0} be any complex number. We will define a sequence
of complex numbers z_{1}, z_{2},_{ }z_{3},_{
}z_{4}, etc. as follows:

z_{1 = }z_{0}^{2} + z_{0
}

z_{2 = }z_{1}^{2} + z_{0}

z_{3 = }z_{2}^{2} + z_{0}

z_{4 = }z_{3}^{2} + z_{0}

_{...}

In general, for any positive integer n :

z_{n+1 = }z_{n}^{2} + z_{0}

If you start with some complex number, z_{0}, and go through and
compute the sequence of values as described above, one of two things will happen.
For *some *starting values, the values in the sequence will get larger and
larger and larger -- in this case, we say that the sequence "diverges".
For other starting values, the values in the sequence will always stay pretty
small. **The Mandelbrot Set is the set of all starting values that do not
yield diverging sequences.**

**The Complex Numbers can be Represented with the Cartesian Plane**

There is an easy way to associate the cartesian coordinate system ("the x-y
plane") with the set of Complex numbers. Each point on the plane can be
associated with a particular complex number. For example, you can imagine
that (6, 2), which is the point on the plane with x-coordinate 6 and
y-coordinate 2, represents the complex number 6 + 2*i. *The point
(-3, -7) on the cartesian plane represents the complex number -3 -7*i.
*In this way, there is a one-to-one correspondence between the points on the
plane and the set of Complex Numbers.

**Drawing the Mandelbrot Set**

Drawing the Mandelbrot Set amounts to assigning a color to each point on the Cartesian plane. Each point in the plane is tested, and colored one of two ways. The points that correspond to complex numbers that are in the Mandelbrot Set will be colored black; those not in the set will be colored with something other than black (as described below). Actually, the Mandelbrot Set only takes up a small piece of the plane: The entire thing fits into the rectangular region with an upper-left corner positioned at (-2, 1) and a lower-right corner positioned at (1, -1).

One common technique for choosing colors is the following:

First of all, pick out your favorite 256 non-black colors, and give them numbers. (Color #0 is pink, color #1 is green, color #2 is yellow, ... whatever.) [By the way, it doesn't have to be 256, that was an arbitrary choice.]

Now set a "boundary for divergence" (typically the value is 2.0).

To figure out what color to give a particular point (a, b) in the Cartesian plane, begin by setting z

_{0}= a + bi.Then start computing the terms in the sequence described above: z_{1}, z_{2},_{ }z_{3},_{ }z_{4}... As each term is computed, check to see whether or not thenormof the term is larger than 2.0. There are two possible cases; below are examples illustrating each of the two possibilities:

- Consider the point ( -0.4, -0.5). If we let z
_{0}= -0.4 - 0.5i,and then compute the values of z_{1}, z_{2}, z_{3},_{ }and so on, we would find that after computing 256 terms in the sequence,allof the values in the sequence up to and including the last one, z_{255}, have norms that are less than 2.0. So we assume that the point ( -0.4, -0.5) is in the Mandelbrot set and we color it black.- Consider the point ( -0.4, -0.6). If you let z
_{0 }= -0.4 - 0.6i, you will find that the terms from z_{1}up through_{ }z_{24 }all have norms that are less than 2.0. But z_{25}has a norm that is just slightly bigger than 2.0. We will then color the point (-0.4 - 0.6) with "color #25", whatever that is, since the 25th term was the first one to get "too big".