# What are “3D Burning Ship fractals”?

Fractal images from the Mandelbrot set are well known. Plots of the Burning Ship fractal are a bit lesser known but this answer discusses these and others. They can be viewed by iterating the following on the complex plane and recording the value of the index $n$ for the last iteration that each original point remained below some "escape condition".

I've shown some simple representation of the Burning Ship "interesting area" below.

Recently I found some YouTube videos and blogs showing renderings of the "3D Burning Ship Fractal". Many of these are done using software packages for people who just want to make fractal images. There is some discussion and some examples of this in this blog. Also for background a video including the "great explainer" Arthur C. Clarke can be found here.

Question: What are "3D Burning Ship fractals"? Are they mostly the result of graphics techniques to make interesting looking things, or is this something of substantial academic interest. Since the complex pane is 2D, I have a hunch this is more "art" than a mathematical research field, but I don't know.

Mandelbrot: $\ \ z_{n+1} = z_n^2 + c$

Burning Ship: $\ \ z_{n+1} = \left( \lvert Re(z_n) \rvert + i\lvert Im(z_n) \rvert \right)^2 + c$

above: Burning Ship, $-3, -2i$ to $1, 2i$

above: Burning Ship, $-1.85, -0.1i$ to $-1.65, 0.1i$ The "Radio Towers" above this and other nearby ships are generally the source of the most popular fractal image generation.

A Fractal Zoom Video of the Burning Ship: https://www.youtube.com/watch?v=CD9yNFmb2FE

A video of a "3D Burning Ship Fractal": https://www.youtube.com/watch?v=yaPTk-DqT1g

above x2: Burning Ship "3D Fractals" from here.

• @tilper I didn't even notice it, thank you! youtu.be/Lk6QU94xAb8 I'd only seen the old 2007 upload: youtu.be/qB8m85p7GsU I'll add it to the question. – uhoh Jun 14 '17 at 17:41
• At first glance, I'd say there isn't much 'traditional' mathematics here; the structure of the iteration is far from any definition of nice as a complex iteration, and even seen as a 2d iteration $\langle x,y\rangle\mapsto\langle x^2-y^2+a,2\left|xy\right|+b\rangle$ the structure doesn't lend itself well to analysis (for instance, the presence of the absolute value means that it's not a polynomial or even an analytic map), so essentially none of the tools that have generally been used for studying dynamical systems can be applied here. – Steven Stadnicki Jun 14 '17 at 17:46
• @StevenStadnicki please check this question and its answers, you may want to comment further there as well. Here I'm asking specifically about the concept of the "3D fractal", not about the Burning Ship in general, although of course your comments apply in either case. I wonder if the dynamical-systems tag should be removed though? – uhoh Jun 14 '17 at 17:49
• One technique I read about is to compute the surface $|f^n(q)|=r$ ($r=2$?) and use some backward differentiation technique to find the surface normal. Then build from that a triangulation that can be used in a ray tracer or other 3D viewer. $q$ is a quaternion $w+ix+jy+kz$ and $f(q)=(|w|+i|x|+j|y|+k|z|)^2+c$ where the values for $c$ are chosen from some 3D bow embedded into the 4D quaternion space. – LutzL Jun 14 '17 at 18:55
• Sorry, but I have no practical experience with that and also no handy links, thus no answer, just a comment. – LutzL Jun 15 '17 at 7:35

All the formulas of the code fragment of M Benesi combined amount to the transition from $p:(x,y,z)$ to $n:(x_+,y_+,z_+)$ for parameter vector $c:(x_c,y_c,z_c)$ \begin{align} x_+&=x^2-y^2-z^2&&+x_c\\ y_+&=-2\sqrt{x^2+y^2}|z|&&+y_c\\ z_+&=-2\frac{|x^2+y^2-z^2|\,|x|\,|y|}{x^2+y^2}&&+z_c \end{align} which does not really a cross-section that would correspond to the "burning ship" formula.

While superficially setting $y=0$ or $z=0$ does reduce the first terms to $(x^2-z^2, -2|xz|,0)$ resp. $(x^2-y^2,0,-2|xy|)$, the order of the terms is wrong, the results do not lie in the same cross-section, and even alternating the cross-sections does not work as that does require $y_c=z_c=0$.

So it is a combination of mathematical operations that results in visually interesting images, but there is no deeper mathematical structure behind that.

• OK I see your point much better now, thanks! I'll give this a test, to see what happens just for fun. If those pictures are coming from here, than I now see just what you mean by your last sentence. I'll update shortly. Thank you!! – uhoh Jun 15 '17 at 12:32
• (shortly = tomorrow) – uhoh Jun 15 '17 at 13:08
• ok a bit later than that. I took it for a spin and I can see there is the same kind of behavior in there that one sees in 2D fractal plots, and that iso-surfaces can easily be constructed and then rendered. I also noticed at $z=0$ and thereabouts the 2D plot looks like the "traditional" burning ship. I will leave it to the artists to keep making the amazing videos, and soon ask another question. In the mean time, this is just what I needed, thanks! – uhoh Jun 30 '17 at 8:22
• Oh, and there's this i.stack.imgur.com/6tcXA.gif and this i.stack.imgur.com/SACZG.gif :) – uhoh Jun 30 '17 at 11:36

Are they mostly the result of graphics techniques to make interesting looking things, or is this something of substantial academic interest.

I used trial and error to discover that formula, while looking for interesting visual results.

Since the complex pane is 2D, I have a hunch this is more "art" than a mathematical research field, but I don't know.

It (the pursuit of fractal art formulas) led me to some engineering ideas that would be useful. Maybe not this formula in particular, but the pursuit is perhaps valuable, even if mathematically generated artwork wasn't considered to be a research field in the past. I do believe that a friend announced that they were in a postgrad program centered on mathematical art generation, but I'd like to ask them more in case I misunderstood what they said.

That said, did I misunderstand what you said, in the sense that you mean theoretical instead of applied by this being a mathematical research field?

The actual 3D BS formula (take |abs| of each component, add in c) was slightly different.

• Thank you for the edit! In the question, "mathematical research field" refers to use within the study of mathematics itself and I didn't mean to imply in any way that other applications in other fields were not useful, and certainly not that they would not be interesting. As far as I know, study of 3D fractals has not been applied to a better understanding of mathematics in the same way that study of the Mandelbrot set has. – uhoh Sep 10 '17 at 2:14
• Introducing a folding operation to the Mandelbrot Set to produce the Burning Ship has produced some very interesting properties, and this is fractal wide, not just the ship part. Sharp fragmentation of shape, down to noisy aspects that interact amazingly inside with colouring like TIA, a mandlebox like tendency to contain a huge family of other types of fractal, practically acting as an index for them. Gradual aspect drifts over space, and MSet shape and property drifts with the specific MSet being examined, and this is recursive too when going in further. … – alan2here Jun 25 '18 at 21:43
• … The radio tower like parts in some parts of the set even seem even to grow through each other in an almost physical way, like theres something recurrent happening here somehow, perhaps analogous to division as defined as inverse multiplication, and the recurrent process of "long division". – alan2here Jun 25 '18 at 21:49

The formula (definitely more art- than science-focused in my opinion) seems to have been developed in 2010 by M Benesi on FractalForums. Here's a translation of the second code block in the first post in that thread into Fragmentarium-flavour GLSL:

#define providesInside
#include "Brute-Raytracer.frag"

#include "Complex.frag"

#group BurningShip3D
uniform bool Julia; checkbox[true]
uniform vec3 JuliaC; slider[(-2,-2,-2),(-1.79,0.02,0.05),(2,2,2)]

const float ER2 = 64.0;
const int Iterations = 20;

bool inside(vec3 position)
{
vec3 c = Julia ? JuliaC : position;
vec3 p = position;
for (int i = 0; dot(p, p) < ER2 && i < Iterations; ++i)
{
vec2 victor = vec2(p.x, length(p.yz));
vec2 bravo = vec2(length(p.xy), p.z);
vec2 cramden = p.xy;
float r1 = 1.0 / dot(cramden, cramden);
victor = cSqr(victor);
bravo = cSqr(bravo);
cramden = cSqr(cramden);
float nx = victor.x;
float ny = -abs(bravo.y);
float nz = -abs(bravo.x * cramden.y) * r1;
p = vec3(nx, ny, nz) + c;
}
return dot(p, p) < ER2;
}


There may be a distance estimate formula possible which would make ray-tracing images much more efficient, though I don't know it.

• Thank you for this! I'm not very strong in the curly braces languages. Is it possible to add something here that explains what this does or how it works? A few sentences about the principle?, An equation would be great, but only if the algorithm lends itself nicely to one. – uhoh Jun 15 '17 at 1:46
• This is a very helpful answer - you've identified the source and discussed what's going on. The other answer took it from here and spelled it out for me in simpler, non graphics terms. – uhoh Jun 30 '17 at 8:29