Oran's Julia Explorer

It started as a standalone program written for CS3 at Caltech (the original applet version can be found here). It have played with various parts since then, and essentially nothing is left of the original design, although the functionality is similar. One major visible difference is that it now shows both fractals on the same canvas with (optional) transparency multiplied into each layer and/or intrinsic to a color(s) in the colorscheme. I have made the Rainbow3* colorscheme to have points in the Mandelbrot set clear and points outside of the set opaque. The Trig2*+ colorscheme has its color components oscillating, including the transparancy. I used an AColor class for this (I couldn't get Color to do it with my 1.1 jdk -- and I wanted to keep it in 1.1). The other major difference is that you can now play with the equations that produce the fractal, and there are severa presets. Here's what you need to know:

Instructions

Fractals

This type of fractal is generated by iterating a function that maps complex numbers to complex numbers. The basic idea is that there are interesting sets for which applying the function to any point in the set produces another point in the set. This is not enough to make it interesting, it should also have "lots" of periodic points (points that that will repeat as you iterate the function) in any region. Also, there is a sensitivity to arbitrarily small changes, and any two arbitrarily small regions of the set have points whose orbits eventually reach the other region. So, there are places where you could, in theory though not in a computer approximation, zoom in forever and always have an interesting image.

Many such sets are known to have bailout test such that any point not in the set will eventually pass the bailout test if the function is iterated long enough. It is known, for example, that points more than 2 units from the origin are not in the classic Mandelbrot set and that any other point not in the mandelbrot set will "eventually" reach outside of that region upon iteration of the function (in that case, f(z) = z^2 + c, where c is the first point).

These images are generated as follows:

The chaotic set itself is all colored the same color, so it might have an interesting shape, but it does not account for the detail of the image. The colors are added as a way of visualizing the rate at which the orbits of a point diverge (or pass the bailout test). The most interesting regions in the image are those near the edge of the set whose orbits eventually diverge, but approximate some of the behavior described above in the early iterations. The properties of the chaotic set also ensure a degree of self-similarity -- the patterns repeat as you zoom in.

Finally, you might recognize immediately that if you zoom in very far on a point in the Mandelbrot fractal, the Julia fractal associated with that point, zoomed into that point, should approximate the same image in the Mandelbrot. This is illustrated somewhat in the "Classic Julia/Mandelbrot (zoomed)" preset. It is also known that a Julia set is connected if and only if the point c is in the Mandelbrot set. If c is a point near the edge of the Mandelbrot set, it may be difficult to tell whether the Julia set is connected. These properties lead to the strategy for producing interesting Julia images by setting c to an interesting point on the Mandelbrot image.