The Mandelbrot set was found in 1976 by Benoit Mandelbrot. It leads to perhaps the most famous of the "fractal" patterns.
I have written 2 programs to explore The Mandelbrot Set. The first is a standalone Visual Basic 6 application and the second is a Java applet. Source code for both applications is freely available.
The Mandelbrot Set is a group of numbers which all fulfill the following criteria. A number is in the Mandelbrot Set if when fed in to the following iterative equation as the value c (and with a starting value of 0 for z), does not result in the value of z approaching infinity:
z = z2 + c
For example, we could test the number 3 to see if it is in the Mandelbrot Set. We start with a value of 0 for z, and a value of 3 for c. When we carry out successive iterations, our value of z is calculated as: 3, 12, 147... etc. Clearly for this value, our iteration will get bigger and bigger and approach infinity.
However, if we use complex numbers, this situation isn't always the case, and this is how the 2 dimensional image of the Mandelbrot Set is generated.
In this picture, the horizontal axis is used for real values of c and the vertical axis for imaginary values of c. All points within the black region are within the Mandelbrot Set, and all other points are not:
The problem to consider when deciding whether a point lies within the Mandelbrot Set is deciding whether a point is going to approach infinity or not. The generally accepted method is to iterate for a large number of times and if by then the value has not wandered outside of the circle of radius 2 centered on the origin, then it probably is not going to to approach infinity.
By assigning a colour to all points which are not within the Mandelbrot Set based upon the number of iterations that it took for their value to wander outside the radius 2 circle, we can produce images like the following:
Some fairly psychadelic displays can be produced by cycling these colours in a predefined way.