Mathematics of Fractals with More Than Two Dimensions



Consider the equation

zn+1 = z2n + c

Each value of the complex constant c will generate a different sequence. With a graph with the X axis (real axis) covering the range -2.5 to 1.5 and the Y axis (imaginary axis) covering the range -1.5 to 1.5 the Mandelbrot Set image is obtained. (See Mathematics of Divergent Fractals). Now assign to c a point in the Mandelbrot set or its immediate surrounding region. This will be called a Julia set index. On a new graph ranging from -2 to 2 on the real X axis and ranging from -1.5 to 1.5 on the imaginary Y axis, choose a point on the graph and assign it to z0. Now iterate the equation. Do this for every point on the graph, using the same value of c for all iterations. This will generate a Julia set for the point c

Clearly, c can also be treated as a variable, and so the above equation has 4 dimensions, two for the real and imaginary parts of z, and two for the real and imaginary parts of c. This 4 dimensional object was named a JuliaBrot by Mark Peterson, one of the original developers of the Fractint fractal generating software. By holding one of the dimensions constant a 3D JuliaBrot can be generated. The three images below illustrate a JuliaBrot generated with Fractint and UltraFractal. For these images creal is held constant and cimag is the z axis. The UltraFractal JuliaBrot code was written by this author and is in the public UltraFractal library.

Fractint UltraFractal
distance mode
Raytrace mode
Iterations = 150
creal = 0.25
cimag = 2.0 to -2.0

The following two JuliaBrots, using the Ikenaga and Phoenix fractals, were also created in UltraFractal.

Iterations = 128
4th-dimension: cimag
cimag = 0.09
iterations = 128
4th-dimension: creal
creal = 0.56667


Quaternions and Hypercomplex Fractals

Complex numbers, which can be graphed in 2-dimensions, can be generalized to 4-dimensions. The two most common generalizations are quaternions and hypercomplex numbers. Quaternions are widely used in physics.

Complex: h = a + bi

Quaternion/Hypercomplex: h = a + bi + cj + dk

where i, j and k are "imaginary" numbers. Quaternions and hypercomplex numbers have different rules for arithmetic that follow from the properties of their "imaginary" components.

For Quaternions:

ij = k    ji = -k
jk = i    kj = -i
ki = j    ik = -j
ii = jj = kk = -1
ijk = -1

For Hypercomplex  numbers:

ij = ji = k
jk = kj = -i
ki = ik = -j
ii = jj = -kk = -1
ijk = 1

As a result of these properties, multiplication is not commutative for quaternions (h1*h2 is not equal to h2*h1), but is so for hypercomplex numbers. For hypercomplex numbers, division is not always defined. This author has developed a complete library of transcendental functions for both quaternions and hypercomplex numbers for use with UltraFractal 5.  

Using the equation

zn+1 = z2n + c

but now with quaternion or hypercomplex numbers, the graphing of z now requires four dimensions. The next two images were generated with Fractint using hypercomplex or quaternion numbers.

Iterations = 256
cr = -0.5; ci = -0.5
cj = 0.0; ck = 0.0
4th-dimension: zj
Iterations = 256
cr = -0.5; ci = -0.5
cj = 0.0; ck = 0.0
4th-dimension: zj

The next image, which shows considerably more complexity,  is a raytraced quaternion generated with UltraFractal.

Iterations = 15
cr = -0.7; ci = 0.65
cj = 0.0; ck = 0.0
4th-dimension: zk