Julia Sets

Home
Bifurcation Diagram
L-Systems
Julia Sets
Projectile Motion
PVM
POVRay


There's no better place than this page to learn that "Julia studied the iteration of polynomials and rational functions in the early twentieth century. If f(x) is a function, various behaviors can arise when f is iterated. If you start with a particular value of x, say x = a, then consider the sequence of values

a, f(a), f(f(a)), f(f(f(a))), etc.

julia.gif (14800 bytes)"It may happen that these values stay small or perhaps they don't, that is, repeatedly applying f to a yields arbitrarily large values. So the set of numbers is partitioned into two parts, and the Julia set associated to f is the boundary between these sets. The "filled" Julia set includes those numbers x = a for which the iterates of f applied to a remain bounded.

"If you consider complex numbers rather than real numbers, it is the complex plane that is partitioned into two sets, and the resulting picture can be quite striking."

mandelbrot.gif (15746 bytes)Furthermore, "Consider a whole family of functions parameterized by a variable. Although any family of functions can be studied, we'll look at the most studied family, that being the family of quadratic polynomials f(x) = x2 - µ, where µ is a complex parameter. As µ varies, the Julia set will vary on the complex plane. Some of these Julia sets will be connected, and some will be disconnected, and so this character of the Julia sets will partition the µ-parameter plane into two parts. Those values of µ for which the Julia set is connected is called the Mandelbrot set in the parameter plane."

My program can display the Mandelbrot set and any related Julia set.  It can zoom into any portion of either, limited only by its floating point accuracy.  The following commands are used within the program:

Thing Use
Left mouse button Drag a box anywhere in the current fractal to zoom into that area
Middle mouse button Graph the iterations used to calculate that point on the fractal
Right mouse button Restore window to the default boundaries (zoom out)
Space bar If displaying Mandelbrot set, show corresponding Julia set at current cursor position
If displaying Julia set, return to Mandelbrot set
T Saves current display as a Targa (.tga) file

Naturally, the colors are mappted to the number of iterations required for the function to go out of bounds at each point.  The exact mapping is determined by sampling the image before drawing it to determine the range of iterations necessary.  This ensures that a full range of colors will appear regardless of the nature of the area being displayed.

View the code for this project here.

Back Home Next