To start, let me show you a few images of Julia set fractals.
Beautiful, aren't they? But how on earth do we get to these amazing images, from the very simple-seeming mathematics previously described? Well, let's continue...
Ok, so in the previous post you learnt about what complex numbers are, and how to multiply them. But knowing this isn't really the most interesting thing in the world. What is interesting is what happens when you take any complex number and feed it into some function.
First, what is a function? Simply, it is a mathematical formula that takes your input, and changes it in some way, to give an output. And an iteration? It's simply executing that same function again, but with the resulting output from the previous calculation. Take a look at this, using the function I've previously mentioned that is responsible for almost all fractal shapes ( f(z)= z² + c ):
Let's take any point on the complex plane, i.e. any complex number, let's say, (-1.5, 2i)
If you feed that into our function, with c=0 for now, you get:
f(-1.5, 2i) = (-1.5, 2i)²
= (-1.5, 2i)(-1.5, 2i)
= 2.25 - 3i -3i - 4
=(-1.75 - 6i)
So the output is (-1.75 - 6i). Using this output, the next iteration is:
f(-1.75 - 6i) = (-1.75 - 6i)² to which the answer, or output is (-32.9375 + 21i)
And the next iteration:
f(-32.9375 + 21i) = (-32.9375 + 21i)²
Now, how does this look on a graph? Here:
What you need to understand is that, when you feed any complex number into the function f(z)= z² + c, and reiterate the function forever, and map each resulting output point, a number of things can happen. It might map out to become forever and ever larger, until eternity, which is called escaping to infinity. It might become stuck in a cycle. It might eventually simply stop. It might also spiral down to zero. Here's a diagram to help illustrate a few of the different possible "fates" of a point when forever reiterated in a function and mapping each resulting output point from one to the next:
And this, dear readers, is the key to how Fractals are made. This is what is done:
A fractal generator program takes every possible complex number on the complex plane, and colours it, depending on whether it escapes to infinity, or stays bound, after being eternally reiterated in a function. The points that stay bound are coloured black. The points that escape to infinity are coloured according to "how fast" they escape to infinity. The colours are entirely customisable.
Let's take our function, f(z)= z² + c, make c = 0, enter it into a fractal generator (Fractal eXtreme) and see what happens:
Not very exciting is it? But believe it or not, you're looking at the simplest form of the Julia set fractals. The center of the circle is point zero on our number line, and its radius = 1.
Now what will happen if we change the value of c? ... For example, let's makes c 0.31 and see what happens when we feed the same function into Fractal eXtreme:
Much better, wouldn't you agree? :) So much more interesting. And now, instead of making c simply a real number, let's make it a complex number... For example (0.31, 0.5i) ... And what do we get?:
So this is the fun part :) Download Fractal eXtreme and experiment a bit with different numbers. To enter different numbers, when the program opens, you need to choose New, and then check the little box next to "Julia" ... When the fractal loads, a box with X and Y as input fields will appear. X is the real number and Y is the imaginary number which form the complex number 'c' in our function. Notice that if you make them both = 0 then the Julia generated is the circle I showed you above.
Lastly, here are the two videos I originally learnt this all from. So if you're feeling kinda lost right now (it can be a lot to take in), first, reread my post, and then, watch and rewatch these two videos, until you understand. Thanks for your attention and goodnight!
Complex Plane Dynamics:
How Julia Set Fractals are Generated: