A Brief Introduction to
Fractal Terminology
I was looking for a Web page to use as a link in a post that I was writing on
my fBm Popcorn Trap. I wanted something that explained some of the basic
principles of fractals as we know them in Ultra Fractal, but I couldn't find
anything I thought was useful. Nothing I could find said enough, or in a way
that could be easily related to the program that we use. So I wrote this.
It's not meant to be definitive, and some people may disagree with some of
the things that I say. It's just intended to prepare those people who don't
already know these things for some of the more difficult concepts that I'll
need to talk about with the fBm Popcorn Trap.
I'll try to keep the math to a minimum (because if I don't I'll show up my
inadequacies in that field), but talking about fractals without talking
about math is a bit like breathing without air. You don't have to be good at
math to be good at fractals (though it can't do any harm) but you need to
grasp a few simple principles.
"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
it's
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. 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 co-ordinate 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".
Index |