This page hosted byGeoCitiesGet your own Free Home Page

What's The Mandelbrot Set?


The Mandelbrot set is named for Benoit B. Mandelbrot, used to be a research fellow at the IBM Thomas J. Watson Research Center in Yorktown Heights in N.Y. From his study he established the new mathematical field called fractal geometry. Images of the Mandelbrot set are generated by the iterative process described with following algebraic expression, where variable Z and constant c are both complex numbers.

Z0 = 0
Zn+1 = Zn*Zn + c

For example, we can calculate Z100 by the iterative process with these formulae.

Z1 = Z0*Z0 + c
Z2 = Z1*Z1 + c
...
Z100 = Z99*Z99 + c

The Mandelbrot set is the set of all complex numbers c for which |Zn|, the modulus of Zn, is finite even after n goes to infinity. Before talking about details of my way to create images of the Mandelbrot set, let me show you how to calculate |Zn| and a little bit about complex numbers. If Z100 = 3 + 4i, |Z100| can be described as a square root of 3*3 + 4*4, then |Z100| = 5. The i following 4 shows 4i is the imaginary part of the complex number 3 + 4i, on the other hand, 3 is called the real part of it. When you add two complex numbers, you have to add these parts separately; i.g. (-3 + 4i) + (5 - 6i) = (-3+5) + (4-6)i = 2 - 2i. If you multiply two complex numbers, you can treat the symbol i as a variable like x in high school algebra, but you have to know special property of i; i*i = -1. For example, (1 - 2i)*(3 + 4i) = 3 - 2i - 8(i*i) = 11 - 2i. I think only these are the basics to understand the priciple of the Mandelbrot set.

My program requires three initial parameters; image center, screen width, and iteration max. It carries out those calculations described above until either |Zn| > 2 or counter n exceeds iteration max. It is known that if |Zn| reaches 2 or grater, the iterations will drive Zn to infinity. Then it assigns a grayscale to the point representing c in the complex plane according to the value reached by counter n, but it sets black dot when n reached iteration max. If you select -1.0 + 0.5i as c, |Zn| reaches when n = 3, then it sets #3 gray dot for (-1.0, 0.5i). On the other hand, when you choose 0.0 + 0.0i as c, |Zn| never exceeds 2 by any repeat max, then you get black dot for (0, 0). Althogh every c is selected from the field described by image center and screen width in initial parameters, we actually need only 512*512 complex numbers for c to create 512*512-dot image. The size between each complex numbers can be obtained from dividing screen width by 512.

[reference] A. K. Dewdney, COMPUTER RECREATIONS; A computer microscope zooms in for a look at the most complex object in mathematics. Scientific American, vol.253, 8-14, Aug. 1985.

Around several minutes' calculations with my Gateway Solo 5150 (PentiumII 266 MHz) produce most of images of the Mandelbrot set, but it takes extremely long time to create some part of it. My homemade mfile256 runing on Linux can create 512*512-dot 256-grayscale BMP images of the Mandelbrot set according to initial parameters and I often modify these images with the GIMP. Here is my MESSY(!) but straight forward source code.

Isn't it amazing it's so easy to create such complex and beautiful images? Please feel free to send me an e-mail: thirose@med.yokohama-cu.ac.jp, if you want to look at any parts of the Mandelbrot set. Even if you need tiny 16*16-dot or huge 1280*1280-dot images, I'll do my best to show you them on this page. But never hasten me, because we have limited 15 Mb disk space and, you know, it takes extremely long time to create some of the images with my own snail program.


Top PageBack to the top page
Date Last Modified: 11/8/2k by
T.Hirose;
Tomonolli/Tomonori HIROSE