home projects games photos nn-seven antsim master’s fractal explorer

Purpose

This purpose of this project was to develop a fast, simple, and visually appealing program to explorer the two fundamental fractal sets; the Mandelbrot set and the Julia set. The inspiration for the project came from an old math book with a small section on fractal generation and a desire to learn more about fractals.

Details

Once one understands the concepts of dynamic systems and the complex plane, fractals are relatively simple concepts. The study of dynamic systems attempts to address the questions of what happens when a certain function is iterated repeatedly given a certain starting value. The most interesting questions being what starting points will converge to a stable value and how many iterations will it take those points to converge. A common example is the logistic equation, y = 2x(1-x). For this equation all starting values in the range 0 to 1, exclusive, will eventually converge to 1/2.

Now, what about dynamic systems in the complex plane. Since it is unlikely for points in the complex plane to converge on a single value, the questions become what starting points will maintain a magnitude of less than 2 (i.e. stay inside the circle of radius 2 centered at the origin) and how many iterations will it take the other points to escape the circle of radius 2 (also known as the escape velocity). When the points that satisfy the first question are colored black and the remaining points are colored according to their escape velocity, the result is a contour map with amazing self-similar properties called a fractal!

It turns out that if the equation z = z*z + c is iterated on varying initial values, z0, and c remains constant, one obtains the Julia set for the given constant offset c. Alternatively, if the same equation is iterated on varying complex offsets, c0, and the initial value is always 0, one obtains the Mandelbrot set. Thus, each point in the Mandelbrot set actually represents the type of Julia set that results from using that point as the constant offset. In reality, there is much more mathematics and terminology behind these concepts, but this is presented as an overview to hopefully peak interest in these most beautiful findings.

Download the Source Code for the Fractal Explorer v1.3

Screen shots from the Fractal Explorer v1.3

screenshot1 screenshot2 screenshot3

rmcknigh@cs.hmc.edu Sun Jan 15 09:42:20 2006