Mandelbulb Julia Sets

Juliabulb spinning in blue and gold.

Julia sets exist for most iterated fractal equations, not just the Mandelbrot set. Any fractal of the form Zn+1 = f(Zn) + C has corresponding Julia sets using the same definition where C is the constant Julia point, and the initial value Z0 is the point on the graph to test. The Mandelbulb is no exception. Being a 3D version of the Mandelbrot set, almost all of the same properties apply to its "Juliabulb" sets:

  • Wherever the point is, the Julia sets contain a snapshot of only those fractal features. Near the top, the Julia sets are all wavy rings, and near the equator they are swirled bulbs!
  • The Juliabulb sets have a symmetry degree of one more than the Mandelbulb of the same power.
  • If the Julia point is inside the Mandelbulb, the Julia set is also a connected bulb, and if it's outside, the Julia set is a disconnected cloud of swirls.

The spinning Juliabulb at the top of the page is at C = (0.749, 0.201, 0.557), which is outside the Mandelbulb, so the Juliabulb is a hollow maze of floating bulbs and swirls. Examine this close-up of the middle ring. The disconnectedness goes infinitely deep. Every floating disconnected swirl is composed of many disconnected swirls, themselves composed of infinitely many more disconnected swirls!
Close-up of the Juliabulb's middle ring.

With a power-2 Mandelbulb, the connection to the Mandelbrot set is clear. The Julia sets have the same general shape and pattern at the same points. However, these sets are 3-dimensional, having the same pattern of swirly arms in all directions! Click on them to open the viewer, where you can rotate it.

C = (−0.98, −0.27, 0)
Juliabulb Power-2 at (-0.98, -0.27, 0)
Julia Set at (-0.98, -0.27, 0)
C = (0.4, 0.6, 0)
Juliabulb Power-2 at (0.4, 0.6, 0)
Julia Set at (0.4, 0.6, 0)
C = (−0.48, 0.63, 0)
Juliabulb Power-2 at (-0.48, 0.63, 0)
Julia Set at (-0.48, 0.63, 0)
C = (0.28, 0.82, 0)
Juliabulb Power-2 at (0.28, 0.82, 0)
Julia Set at (0.28, 0.82, 0)

The symmetry also follows the same rules as for the Mandelbrot set. For example, a power-6 Mandelbulb has 5-fold symmetry, but a power-6 Juliabulb has 6-fold symmetry and resembles snowflakes!

One unique property of Juliabulb sets is that when the Julia point is on the z axis (where the x,y coordinates are zero), it has circular symmetry. At the center C = (0, 0, 0), the Julia set is a perfect sphere as expected, since the constant offset is zero, so it simply exponentiates the radius, just as the Julia set at the center of the Mandelbrot set is a circle. However, any Julia point along the z axis, C = (0, 0, h) for any h ∈ ℝ, will make a beehive fractal of perfect circles! For example, C = (0, 0, 1), k = 8:

Power-8 Juliabulb Beehive at (0, 0, 1)

The proof is straightforward. Given the Mandelbulb equation in Julia set form, with the test point Z0 = (x, y, z)

Let ρn = |Zn|, φn = sin−1((Zn).zρn), θn = Arg((Zn).xy)

Then Zn+1 = ρnk(cos(kθn)cos(kφn), sin(kθn)cos(kφn), sin(kφn)) + C

Consider the set with a Julia point of C = (0, 0, h) for any h ∈ ℝ, and proceed by induction.

The base case is ρ0 = x2 + y2 + z2, which does not depend on θ.

Next, ρn+1 = |Zn+1| = |ρnk(cos(kθn)cos(kφn), sin(kθn)cos(kφn), sin(kφn)) + C|

Expand the Julia point, and simplify using the classic identity of sin2(θ) + cos2(θ) = 1

= |ρnk(cos(kθn)cos(kφn) + 0, sin(kθn)cos(kφn) + 0, sin(kφn) + h)|
= ρnk(cos(kθn)cos(kφn))2 + (sin(kθn)cos(kφn))2 + (sin(kφn) + h)2
= ρnk(cos2(kθn) + sin2(kθn))cos(kφn))2 + (sin(kφn) + h)2
= ρnkcos(kφn))2 + (sin(kφn) + h)2

At each iteration, ρn, which is the magnitude of Zn, does not depend on θ0, which is the longitude angle of Z0. The question of whether a point is outside the Julia set is determined by if ρn diverges toward infinity. Since ρn does not depend on θ0, if a point Z0 = (ρ0, φ0, θ0) is inside, then all points on the circle (ρ0, φ0, t) ∀ t ∈ ℝ are inside, and if Z0 is outside, then all points on the circle are outside.

C = (0, 0, 0.5), k = 11
Power-11 Juliabulb Beehive at (0, 0, 0.5)
C = (0, 0, 1), k = 11
Power-11 Juliabulb Beehive at (0, 0, 1)