# 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, 2017 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. Jun 14, 2017 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, 2017 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. Jun 14, 2017 at 18:55
• Sorry, but I have no practical experience with that and also no handy links, thus no answer, just a comment. Jun 15, 2017 at 7:35

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, 2017 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. … Jun 25, 2018 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". Jun 25, 2018 at 21:49

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, 2017 at 12:32
• (shortly = tomorrow)
– uhoh
Jun 15, 2017 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, 2017 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, 2017 at 11:36

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, 2017 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, 2017 at 8:29