Click covers for info. Copyright (C) Rudy Rucker 2021.

In Search of the Mandelbulb

This post is an update about a project I’ve been working on for twenty years. I recently did some work on it with Mathematica, and I’ve posted my latest version of my work both as a Mandelbulb 7 Mathematica notebook, and as a Mandelbulb 7 PDF File. I post these files not so much because I’m finished, but rather because I’m sick of working on it, and I’d like to share the gain and the pain. This post presents most of the material.

The Mandelbrot set M is defined in terms of a plane map mandelmap[z,c] which takes z into z*z + c. We add plane points by adding their Cartesian components—this is easy. Multiplying plane points (in particular computing z times z) is done by pretending the plane points represent complex numbers. A problem in defining a 3D Mandelbrot set is that there is no good 3D analogue of complex numbers, and therefore there’s no obvious best way to “square” a 3D point (x, y, z).

[Bozo the Mandelbrot set!]

Various other ideas have been tried for finding the platonic 3D bulb, such as using quaternions. The quaternion approach gives taffy-like structures lacking the warty smooth quality we seek. Daniel White discusses the quest and some of the approaches in his web page about his search for the Mandelbulb.

What do we want? A “Mandelbulb,” a root-like object that’ s like a big sphere with a dimple in the bottom and with bulbs on it, and further warts on the bulbs. I wrote about this object in my 1987 science-fiction short story “As Above, So Below,” which I’ve just placed online for reference. [Note that this story is not to be confused with my novel of the same name.]

The Cubic Connectedness Map

I’ll mention here as an aside a completely different approach to looking for a 3D Mandelbrot set. The idea is to take a 3D cross section of a 4D fractal called the Cubic Connectedness Map, which was first investigated by Adrian Douady, John Hubbard and John Milnor.

In a nutshell, if k is a complex number, we define Mk to be the set of complex numbers c such that both k and -k, when plugged in for z, lead to a finitely large sequence of iterates in the map z = z^3 – 3*k*z + c. The set of all Mk in k-c space forms the four-dimensional Cubic Connectedness map or CCM.

I created some software for finding 2D cross-sections of the Cubic Connectedness map in the Autodesk CHAOS program, see my remarks at Note that you can download the Windows CHAOS program here as well.

I think I got the idea for the CCM fractal from the technical papers: Adrian Douady and John Hubbard, “On the Dynamics of Polynomial-like Mappings Bodil Branner and John Hubbard, The iteration of cubic polynomials Part I, and The iteration of cubic polynomials Part II: Patterns and parapatterns . Whew!

Another of the surprisingly few links on this rich topic is an article by the Swedish amateur mathematician Ingvar Kullberg, “The Cubic Tutorial,” concerning a plug-in that generates these images with the popular Ultra Fractal software.

Shown above is a detail of the Mk you get when k = -0.4055 -0.1135 i. The detail is the image is in the area centered on (0.12, 0.87) in the c plane. I call this guy “Fafnir” after the famous dragon.

By incrementing up and down through the k parameters, I had gotten the impression that by “stacking” some of these 2D slices while varying a single real-number parameter, such as the real part of k, we could get a nice 3D Mandelbulb, and I still can’t quite believe this isn’t true. But Paul Nylander recently rendered a run that looks discouraging.

I still have some slight hope that Paul’s rendering algorithm might be in some way not be quite what we want, or that, perhaps we need to do something other than simple stacking of 2D cross-sections in order to find the Mandelbulb within the CCM.

By the way, another great math-graphics hacker Billy Rood had a shot at this “stacking” algorithm, also without being able to find the Mandelbulb we’d hoped for.

A Spherical Coordinates Algorithm
A different way of thinking of complex number multiplication is to express (x,y) in polar coordinates (norm,theta). In these coordinates, multiplying two complex numbers means multiplying their norm-values and adding their thetas. This is readily generalized to traditional 3D spherical coordinates. A point can be represented by a triple (norm,theta,phi), where phi is the azimuth elevation above the xy plane, and theta is the polar theta of the point’s projection onto the xy plane. And then multiplying two of these numbers means multiplying their norm-values, adding their thetas, and adding their phis.

So squaring a complex number in the plane passes from (r, theta) to (r*r, 2 theta). And in spherical 3D coordinates, (r, theta, phi) becomes (r*r, 2 theta, 2 phi). This is an idea I spent a little time on in 1988, and recently I came back to it again. Details are in that Mathematica Mandelbulb Version 5 notebook of mine I mentioned at the start of this post. One encouraging thing about this approach is that we can be sure that the set we get will have a familiar Mandelbrot set as its intersections with both the xy plane and the xz plane…for in the xy plane, phi is identically zero; and in the zy plane, theta is identically zero.

Here’s a test run, done by crudely splitting space up into voxels and marking the spots that are inside the intended Mandelbulb.

In 2007, a similar approach was used by Daniel White, who posted about his search for a nice 3D Mandelbrot shape on his website mentioned above, and on the fractalforums site, a site where the elite meet to geek.

And White coined the world “Mandelbulb” for the image we seek.

As I mentioned, the gifted computerist Paul Nylander blogs about “hypercomplex fractals” at his Bugman site. Here he shows a rendered image of a White Mandelbulb that, as White already noted, doesn’t look like the smooth bulbous shape we’d dreamed of. It’s close, but it has the taffy/whipped-cream/spun-glass excrescences that we want to sand away.

What Next?

One problem might be that there’ s an imparity in how we get the two angles, theta and phi, in the spherical coordinates, in that theta is an “argument” angle in the xy plane and phi is an azimuth elevation above the xy plane. They aren’t really the same types of angles. So maybe it’ s not surprising that simply doubling those angles doesn’t produce a smooth bulbous 3 d Mandelbulb. It would be nice if the angles were more similar in nature.

To make this happen, we might define both angles as azimuths like phi…or define both angles as arguments like theta, I have a little more about this in that Mathematica notebook I mentioned…but these approaches don’t seem to work.

Another problem could be that, when we double two angles we’re in some sense moving the point too violently. Perhaps you should be multiplying the angles not by two, but by some weighting factors mul1 and mul2 which might depend on whether, say the point is closer to the xy plane or to the xz plane.

Meanwhile…we’re still waiting for the Mandelbulb to touch down!

The Eighth Power

Dan White, Paul Nylander, and David Makin have been investigating a different approach. We go with the spherical coordinates version of the 3D Mandelbrot set, but instead of squaring the number in each iteration, we raise it to, say, the eighth power, that is, we raise the radial length the eighth power and multiply the theta and phi angles by eight.

[8th power 3D Mandelbrot, rendered by Paul Nylander]

Other powers give nice results too—at present it seems as if the crud only shows up in the squaring version. Or perhaps the views we have of the higher powers aren’t sufficiently detailed to show some lurking crud. But latest zooms are looking good.

[Close-up of the 8th power 3D Mandelbrot, rendered by Daniel White.]

White comments: “In this gold pic, see how the sine wave style curves of the 2D mandelbrot translate to ‘egg carton’ type shapes, and also how the background in the gold pic is ‘smoother/flatter’ than the foreground. Often, parts of the 2D mandelbrot do exactly the same when the iteration level is low enough (the end of stalks round off).”

I have some more material about these ideas in my later post, “Breaking the Bank of Computation.

19 Responses to “In Search of the Mandelbulb”

  1. Freek Says:

    An object I have always been curious about is _four_ dimensional (it could be shown as a 3D object that changes through time, maybe?) With the Mandelbrot set you use the complex number 0 as the starting point of the sequence, but you could change this to an arbitrary a. So if you take a as the starting point and z^2 + c as the iterator, then I would like to know what the set (a,c) looks like for which the sequence doesn’t diverge. In other words, the Mandelbrot set is the section (0,c) of this, while the Julia sets are the sections (a,c0) for fixed c0, and I would like to see the whole thing. (Or did you already say this in the blog entry and I somehow missed it?)

  2. Daniel Says:

    Nice post!

    Glad that others have tried to look for the beast. Quite a few have said that such an object is impossible due to the lack of a proper 3D analogue to complex numbers. I’ll say again that I think this would be the most amazing find if it did exist. Like a real ‘holy grail’, but even better in a way, because it’s so universal. And it looks like there may even be various ways to colour the surface rather than keeping it at the default mono-hued colour (one could ‘chop’ off a section of the hypothetical 3D brot, producing awesome colours, though that would lose detail of course).

    Paul mentioned your spherical rotation formula on the site. It’s pretty similar to mine as you know, though I wonder what a higher power version of your formula looks like (Paul found that higher power versions of my formula seem to reproduce some of the incredible deep fractalness of what you’d expect in a 3D brot – see later).

    It’s a good idea to weight the rotations like you said – perhaps so that the distance travelled round the sphere is the same no matter what angle. Recently, I was also experimenting with different coord systems as mentioned on the thread here:
    (“16 different spherical coordinate systems”).

    Finally, as hinted at previously, it already looks as though we’re discovering something 3d-brot-ish. Take a look at some of these pictures. This nice one is of the whole thing (and rendered by Paul of course):

    Here’s a zoom-in render by David Makin (lowish 3D resolution):;id=901

    Not too shabby huh?

    …and another zoom (around 1000x, shadows are faked)…:

    Both of those last ones have plain diffuse lighting – love to see them with global illumination.

    Anyway, hope one of us finds it in the end!

  3. Alex Says:

    btw. Your Mandelbulb test run can be viewed and rotated in
    Mathematica Player which is a free download from the
    Mathematica website.

  4. geebert Says:

    awesome concave niche! did a UFO do that?!

  5. Kelson Says:

    So, when the rendering hits electron microscope quality, the internal gnarl alarm goes off and we have a winnah?

  6. Jules Ruis Says:

    For more information see my website.

  7. David Makin Says:

    Hi, there are several renders of various “powers” of the White/Nylander beast as well as Rudy’s version in my gallery here:

    Some are from Mandelbrots, others from Julias.

  8. Rudy Says:

    Thanks David, I like your recent Honeycomb a lot

    I think this one is from a degree 8 true 3D mandelbrot. I couldn’t tell which ones of your pix is of the degree 2 version?

    By the way (note for casual readers), Daniel White recently posted a longer discussion of these new 3D fractals

  9. Oliver Says:

    Hi Rudy, is there a mathematical proof that shows that the shape of the Mandelbrot set is not the result of numerical imprecision and rounding errors in floating point math, but in fact is an inherent property of the underlying imaginary numbers?
    Just curious…

  10. Rudy Says:

    Oliver, There’s been extensive mathematical work on the Mandelbrot set, and, yes, it’s real, not an artifact of computer algebra.

    The Wikipedia article might be a good place to start if you want more info.

    The earliest fractals along these lines were in fact hand-drawn “Julia sets” by the mathematicians Gaston Julia and Pierre Fatou starting in in 1917.

  11. Rob Goldman Says:

    Hey, I just got my first glimpse of the 3d renderings here and over at Skytopia. Really amazing stuff!

    Thanks much for your passion and pioneering work in the area. The renderings are absolutely incredible!

    Any thoughts on why the 8th power works in 3d but not the 2nd? How does an 8th power rendering of the 2d set look?


  12. Rudy Says:

    More links from Dan White, a.k.a. twinbee.

    A really beautiful paradise-like scene, with a bit of a story framing the images.

    And a new videos by Dan, zooms into one of the Gateau mountain areas)

    The Mandelbulb has really taken off, and there are more posts about it every day.

  13. Rudy Says:

    Paul Nylander found an interesting way to fake a 3D Mandelbrot set. He calls it “Mandelbrot Pearls.”

  14. Jason Says:

    Some of my renderings of Mandelbulbs and Juliabulbs can be seen here

    I think the Juliabulbs have been overlooked in the majority. They do create some very nice renderings too.

    The variations discovered and explored since continue to grow. The mandelbulb has opened up a whole new genre of fractal (even if it doesn’t create a true new form of algebra in the mathematical sense) that inspires mathematicians and non-mathematicians alike.


  15. Kay Dekker Says:

    Hi Rudy,

    nice work, as always!

    Just one tiny correction for you: the late Adrien Douady’s first name was, well, “Adrien”. Not Adrian.

    Best wishes,


  16. Jules Ruis Says:

    I succeeded in producing the real 3D mandelbubs and more easily the juliabulbs.

    I ordered the fractals in the julius Ruis Fractal Sciende and Art gallery.

  17. Jules Ruis Says:

    I made some very interesting animations of the so called 3D Juliabulb.

    See You Tube:

  18. b00lduck Says:

    64k Intro with realtime mandelbulb

  19. Dirsur Says:

    Almost total automation…!!

Rudy's Blog is powered by WordPress