Geodesic based 3d mandelbrot

Inpired by Daniel White's 3d Mandelbrot - the 'Mandelbulb', http://www.skytopia.com/project/fractal/mandelbulb.html. I wanted to find out what it would look like if the multiplication used in the algorithm would respect the spherical geometry.

White adapted the standard squaring of the complex numbers (square radius and double angle) for an ordinary Mandelbrot fractal in 3d by going to spherical coordinates and squaring the radius and doubling both angles. To get a nicer looking 3d shape squaring was replaced by higher powers. Let's focus on what happens with the angles on the sphere. For small values of the angles (close to the chosen origin on the sphere) this is approximately doubling the distance from the origin along a geodesic. For larger values it also adds more of a tilting behavior of the geodesic in relation to the equatorial plane. It is severely non-geometric closer to the poles and just doubling the latitude basically makes the angular coordinates a double covering of the sphere. 

To remedy this I interpret the multiplication as given a reference origin and equatorial plane, taking an n:th power of a coordinate on the sphere means that it should move n times its distance from the origin along the geodesic defined by the origin and the coordinate, and it should multiply the angle between the geodesic and the equatorial plane by n. (Note, just doing the first part gives a surface of revolution based on the 2d Mandelbrot.) The main drawback is that this is quite a bit harder to optimize as it relies much more on trigonometric functions.

The comparisons below are not really fair - turns out that there was a pi radians phase shift implicit in my calculations for the geodesics. I'll eventually upload new side by side comparisons, but here's a phase shift animation to go with the first comparison,

YouTube Video


Most of the visual difference goes away when the phase shift is corrected. I find that a bit interesting...

Here's a comparison between White's version (left) and mine (right) for n=7, at 6 iterations. Note especially the behavior near the pole (bottom right in both versions). (Click on the images to get higher resolution images.)
Here's a view from above the pole.
The following video clip shows the geodesic 3d Mandelbrot starting with just the first part of the multiplication, and gradually adding the tilt factor. Second stage increases the power used from 2 to 7.
I got a request for an image of the power 2 version (10 iterators):
Since it is an even power, it will not symmetric upper and lower half planes.


Cheers,
  Ingemar Eriksson



Comments