“Complex numbers” are two-dimensional, which means that they’re made up of two parts: a “real” part and an “imaginary” part. The real part on its own is just an ordinary number and behaves as you’d expect it to.
The imaginary part is something else again. Imaginary numbers have their own rules and often don’t behave as you expect numbers to do. So read on to learn more about Ultra Fractals and Psychedelic Fractals – a Brief Introduction.
The “Imaginary Unit” is “i”, which is sort of like the “one” for imaginary numbers. When you multiply i by i you don’t get i, you get minus one…a real number. That’s actually the formal definition of i…it’s the square root of minus one, but it also shows how strangely they can behave.
You’ll often see it written that imaginary numbers are just as “real” as real numbers, but I prefer to believe that real numbers are just as imaginary as imaginary numbers.
Because complex numbers are two-dimensional you can think of them as the points in a coordinate system. Usually the “Real Axis” is the horizontal axis and the “Imaginary Axis” is the vertical. This is the “Complex Number Plane”.
The axes cross at the “origin”, where both the real and imaginary parts of the complex number are zero. Your fractal window represents part of the complex number plane, and when there are no transformations active each pixel has a unique complex number.
A fractal formula takes each of these numbers and runs it through a recursive equation. “Recursive” means that the result of the equation is put through the same equation again, and that result is put through the equation again, and so on. Each time the number goes through the equation it’s called an “Iteration”.
When you plot the sequence of numbers produced by this process onto the complex number plane and join the dots, it will seem to form a path. This path is called an “Orbit”. The path that some of these orbits take is very complex and unpredictable.
The most famous fractal is the Mandelbrot set. Many of the terms used in fractal software these days come from the study of the Mandelbrot set. The Mandelbrot set itself is just that area of the screen that comes up as “Inside” when you run the formula in Ultra Fractal. The “Outside” is, strangely enough, outside the set.
Many fractal sets don’t have inside and outside areas, despite what fractal software tells us. This is true of Julia sets. A Julia set is just those points in the number plane that, when run through a certain recursive formula, trace a path that just keeps on doing unpredictable things.
But the idea of Inside and Outside can be useful to fractal programmers and artists. If the orbit continues to be unpredictable how do we know when to stop it? We can’t trace it forever, because we’d never produce any pictures. We could trace every path the same number of iterations and then stop (and this is what I do in formulas like Popcorn), but that can be very slow.
What we usually do is look for when the orbits are doing predictable things. One predictable thing that happens in many fractal formulas is that the orbits trace paths that head towards infinity…the numbers just keep getting bigger and bigger.
If we look at how big the numbers are getting and decide to stop calculating if they get to a certain size, then we are performing a “bailout test”. There are other sorts of bailout tests, but the main idea is to decide when to stop and draw an image. If the orbit passes the bailout test the pixel is said to be “Outside”.
If it doesn’t pass the test before we’ve calculated a certain number of iterations the pixel becomes “Inside”. It hasn’t necessarily *failed* the test, because it may be that we just haven’t given it enough time. At school, I was always “Inside”.
The bailout value is one of the most important parameters, and you really need to learn how to use it to make your fractals look good, but I’m going
to use an all too common cop-out and say “that’s beyond the scope of this article”