Settings

Theme

“Burning Ship” fractal

paulbourke.net

399 points by daqnal 3 years ago · 74 comments

Reader

goldenkey 3 years ago

This fractal is non-holomorphic which makes it kind of a dumpster fire..or a burning ship I guess... The easiest layman's definition of holomorphic is any function or operations on complex numbers that doesn't peek at the real and imaginary parts of the complex number. In algebra, there is no combination of algebraic operations [1] that can do so. But on computers, we have Re(z) and Im(z), which are easy to calculate since the complex number is simply stored as two parts, and it just pulls one of them out.

When you violate this sacred notion, of treating a complex number as a singular entity, indivisible, the operations or functions you get, no longer have nice properties, like being analytic [2]. You are no longer doing algebra, you have gone into the realm of chaotics over R^2 with an equivalence relation through rotations, which is a far different beast.

That's why other fractals that treat complex numbers as first class citizens, singular entities, and don't use hacks like Re or Im, are much prettier and have less branch cuts.

[1] https://en.wikipedia.org/wiki/Algebraic_operation

[2] https://en.wikipedia.org/wiki/Analytic_function

  • ogogmad 3 years ago

    If you replace the complex numbers with split-complex numbers, then the set of holomorphic functions becomes uninteresting. You therefore need to use * (meaning the split-complex analogue of complex conjugation) to get anything interesting. It follows that the obvious analogue of complex analysis over the split-complex numbers is pretty sterile, but I think that the split-complex numbers themselves remain interesting.

    The operation * (meaning conjugation) isn't totally ugly. The reason for that is because it shows up in matrix theory. A lot of families of matrices (like the unitary and the self-adjoint matrices) are defined using *. Therefore, while the function theory of the split-complex numbers might be boring, their matrix theory is still somewhat interesting because of its dependence on *.

    The relevance to generating fractals using the split-complex numbers is that you need to use non-holomorphic functions to get interesting results. Some results here: https://news.ycombinator.com/item?id=32211495

    • goldenkey 3 years ago

      Complex conjugation is non-holomorphic and yes, it's ugly. I still don't see why it being useful as a construction makes it a beautiful operation in analysis given that it isn't algebra.

      There are holomorphic split-complex functions and they aren't uninteresting at all - they are quite beautiful and complex, relating to wave equations: https://en.wikipedia.org/wiki/Motor_variable#D-holomorphic_f...

      They're not something often looked into in the fractal scene but if anyone has spare time, I'd love to see a D-holomorphic fractal analog of the Mandelbrot :-)

      • ogogmad 3 years ago

        A holomorphic function over the split-complex numbers is the direct sum of two holomorphic functions over R. In that sense, it's trivial.

        You will be very disappointed once you see the split-complex Mandelbrot set. It will be an instructive exercise for you to see why it looks the way it does.

        My point about complex conjugation is illustrated in [1]. Linear algebra over the complex numbers does not limit itself to the four arithmetic operations {+,-,*,/}, but uses complex conjugation as the 5th and final operation. Look at the definition of a unitary matrix, or a self-adjoint matrix, or a normal matrix. Also, look at the definitions of the QR decomposition and SVD. Complex conjugation is everywhere in linear algebra. Consequently, matrix theory over the split-complex numbers is actually somewhat interesting.

        [1] - https://en.wikipedia.org/wiki/Matrix_decomposition

        To some extent, this seems like a weird discussion about mathematical aesthetics.

        • goldenkey 3 years ago

          Linear algebra uses the Hermitian adjoint [1], sure, but how often do we graph or build functions out of it for analysis purposes? I understand that it is useful in formulating equations, relations, etc.

          Linear algebra does a lot of things, ie. transpose, that aren't algebraic. I think it's important we understand what is computational versus algebraic. In that vain, linear algebra proves to be immensely useful, but we will trip ourselves if we start thinking certain aspects of it are analytic.

          Anyhow, point taken, that image hardly looks interesting.

          I think we agree and like you said, are just talking about aesthetics. I agree that the utility of math doesn't end at algebra or analyticity.

          https://en.wikipedia.org/wiki/Hermitian_adjoint

      • ogogmad 3 years ago

        Here's the split-complex Mandelbrot (and Mandelbar for comparison): https://imgur.com/a/j2c7qkB

        Read my other reply.

azalemeth 3 years ago

Xaos [1] is great for exploring fractals and the Burning Ship is no exception -- just define a user formula of

    powi(rabs(z)+i*rabs(im(z)),2)+c
and set c to zero (or don't!). The views in the article are mirrored compared to xaos and are in the left area close to the axis. Some good views and palettes to explore interactively are (my taste!) around:

    ;Position file automatically generated by XaoS 4.2.1
    ;  - a realtime interactive fractal zoomer
    ;Use xaos -loadpos <filename> to display it
    (initstate)
    (filter 'anti #t)
    (palette 2 73629707 0)
    (formula 'user)
    (usrform "powi(rabs(z)+i*rabs(im(z)),2)+c")
    (usrformInit "0")
    (maxiter 5000)
    (bailout 5)
    (view -1.6924 -0.02769 0.1137 0.1137)
Note that this will also serve as a bit of stress test for your cpu ;-) (a rendered result is here: [2])

[1] https://github.com/xaos-project/XaoS [2] https://i.imgur.com/mJ0uZG7.png

rubatuga 3 years ago

Great YouTube video of a deep zoom: https://www.youtube.com/watch?v=2S3lc2G3rWs

  • simias 3 years ago

    What's the trick to implement a zoom like this in software? I remember many years ago implementing a trivial program to display the mandelbrot fractal, but as you zoomed in you quickly ran out of precision even if you used 64bit double floats.

    Is it just using "bignums" behind the scenes or is there a trick to "reset" the exponent due to the fractal nature of the display? I always wondered if, thanks to the self-similar nature of fractals, one could convert a set of coordinates to another at a different scale and yield the same results.

    My intuition tells me that it wouldn't work for all fractals though, and probably not for Mandelbrot because while it's self-similar it never seems to look exactly the same at different scales.

    • grishka 3 years ago

      I'm a noob in this kind of stuff but maybe they're using fixed-point math and dynamically redefining the scaling to always have enough precision? But then if you do use fixed point you could as well use integer big numbers. Though I imagine that using any form of big numbers, int or float, is going to hurt the performance more and more as you zoom further. You may also be able to use the rule that you can multiply or divide both sides of an equation by the same number and it will remain valid.

    • oofbey 3 years ago

      I’d guess you need some kind of floating point bignum to do this. You can cache/memoize repeated Evals of the same point. But I think it would have to be the same point to some pretty tight tolerance (determined by screen resolution at the time). Regardless this video clearly had a lot of compute put into it.

    • muzika 3 years ago

      I ran into the same problem, gave up on it. There must be some trick to it.

  • rjh29 3 years ago

    This is crazy. How do they pilot the zooming of the fractal? It must be carefully planned and programmed in to generate the video.

    edit: I guess if they find an interesting thing very zoomed-in, then zoom out from that, the whole video will be interesting.

    • MeteorMarc 3 years ago

      How is it possible that most stages have symmetries around the center of view?

      • muzika 3 years ago

        The center of view coordinate was specifically chosen before the video was made. There is an infinite number of “interesting” coordinates.

    • dmurray 3 years ago

      I'm not sure your edit is right. No reason why there can't be a tiny but very complex thing which looks single-colour at the next 1 or 10 or 100 orders of magnitude.

      But there are an infinite number of very interesting things in this fractal. If you constantly zoom in on interesting looking areas, you will find this kind of complexity with minimal need for backtracking.

      • mike_hock 3 years ago

        I'm guessing most fractals don't have a smooth boundary anywhere, so if you know any boundary point, you can zoom in on it and it'll be "interesting."

        • danwills 3 years ago

          Yeah I think you're right mike_hock.

          On top of that I think that locations on (or near) the boundary, tend to stay on the boundary (and stay in the center of the image too) when zooming out.

          While purely zooming (not translating) to a known boundary (or near) point, you won't ever see a move to another section-of-boundary, so if there are both 'inside' and 'outside' regions, corresponding to attractors at 0 and infinity, (the 2 main ones in these types of fractals) in the most-zoomed in state, then there will always be regions of both states contained in the final image when zoomed out (until you get to the 'top').

          Maybe it would be possible for there to be formulae that don't hold to this? If the fractal had an incredibly sparse structure, say? To be honest I'm more interested in the opposite myself: Structures where the boundary (between N regions or behaviors) is so wiggly, it's almost 2 dimensional itself!. (If anyone wants to read more, I've called one particular interesting example of this: 'mandelfield' on UltraIterator)

        • rob74 3 years ago

          ...except when you run out of precision in an "unsophisticated" implementation as simias mentioned, then you'll eventually get smooth boundaries - which are just an artifact however.

    • oofbey 3 years ago

      The whole path of the video is define by a single complex number, with absurdly high precision. It’s just zooming in on that point.

  • andy_ppp 3 years ago

    Really enjoyed this, the Mandel build one on the same channel is also incredible.

  • solarist 3 years ago

    I was hoping that a random Mandelbrot shows up at the end.

    (Spoiler: it doesn’t)

    • tempodox 3 years ago

      Try this:

        Z := 1/Z - Z - C
      
      (in complex numbers, with Z0 = i). Plenty of Mandelbrot sets in there.

      [Edit for Z0 value]

BeetleB 3 years ago

Glad to see Paul Bourke is still active. I encountered his site almost 20 years ago and spent many hours on it. Fantastic stuff. Glad to see he still maintains a minimalist site.

  • cmroanirgo 3 years ago

    Completely agree. His public work helped me with some 3d game development back in the mid 90's, mainly with geometry and 3d projections. Back then, in the pre-google era there wasn't a lot of places on the web to get good information, but Paul Bourke was there. He & his sites seem timeless somehow. Great to see it on HN!

isoprophlex 3 years ago

I really like the B/W images on this page! Very nice, somehow the greyscale renders are able to capture the mood a lot better than the traditional colored mappings on eg. Wikipedia

https://en.m.wikipedia.org/wiki/Burning_Ship_fractal

dang 3 years ago

Related:

Burning Ship Fractal - https://news.ycombinator.com/item?id=12581569 - Sept 2016 (65 comments)

yzdbgd 3 years ago

Glad to see people showing some love to fractals !

A year ago, I built a tool to explore the Mandelbrot set fractal on the browser using vanilla JS.

Repo : https://github.com/yzdbg/mandelbrotExplorer

Demo : https://yzdbg.github.io/mandelbrotExplorer/

kenshoen 3 years ago

These kind of fractal have actually 4 dimentional structure since c_x and c_y can also be parameters. I'd love to see their slice as 3D, but have yet to find a good way to visualize them...

https://i.imgur.com/JRfLy6R.mp4

  • IngoBlechschmid 3 years ago

    Here you can interactively explore the 4d mother of the Mandelbrot fractal and all its Julia fractals:

    https://rawgit.com/MatthiasHu/FractalsWebGL/4d/page.html

  • messe 3 years ago

    > These kind of fractal have actually 4 dimentional structure since c_x and c_y can also be parameters

    They're not parameters in that sense.

    The fractal is computed by taking each point on the plane as coordinates (c_x, c_y), and then iteratively applying the recursion relation. Then, with luminosity depending on how quickly that sequence escapes to infinity, we color in that point (c_x, c_y) in our image.

    • ithinkso 3 years ago

      That's not what kenshoen meant. For example for the Mandelbrot set we have a function f(z) = z^2 + c for complex z,c and each pixel in the image represents c_x,c_y in c = c_x + i*c_y and then you iterate f(0), f(f(0))... On the other hand, if you have c constant and each pixel represents z_x, z_y in z=z_x + i*z_y instead, then iterating f(z),f(f(z))... gives you a Julia set.

      But you can think of f as a function of two complex arguments f(z,c)=z^2 + c and iterate it on the whole domain (two complex = four real dimensions) and then have a picture being a slice through any 2D or (even 3D, which is what parent is talking about) plane you like. In other words, the famous Mandelbrot fractal picture is a slice of f(z,c) through a plane z=0, and Julia set pictures are slices through planes c=constant but there is no reason one cannot make other pictures of f(z,c) (just be careful what you meant by iterating a function f: C^2 -> C).

      The burning ship fractal in the article is the same but the function f(z,c) is a bit weirder

  • rngname22 3 years ago

    Visions of Chaos perhaps?

ogogmad 3 years ago

Question: Do fractals have projective duals? In the projective plane RP^2, the dual of a point is a line, and vice versa. Do fractals like "Burning Ship" and "Mandelbrot" have projective duals, where each point in the set is replaced with a line? What would these look like?

  • ronald_raygun 3 years ago

    Mmm. I don't think that's a super useful way to think about it. The way I've always conceptualized it was that if you look at fractals, they are determined by some complex polynomial. So you could look at the space of polynomials, and each point in there , would be its own fractal. For the right space of polys thats a Hilbert space, and so by Riesz representation theorem it would have a dual space, but I dont think thats super useful here

  • Jaxan 3 years ago

    I think Julia sets are perhaps what you are looking for.

Tao3300 3 years ago

I used to spend a ton of time in the Xaos program poking around the Burning Ship. You could middle-click and it would make a Julia set based on the point you clicked, and you could find some amazing stuff in the rigging of the ship.

m12k 3 years ago

Great, now I want to play Return of the Obra Dinn again

pantulis 3 years ago

I miss FRACTINT.

vcdimension 3 years ago

This video is amazing. Its one of my favourites. "Inside the burning ship": https://youtu.be/yaPTk-DqT1g You can see some thought has gone into not just the mathematics and rendering process, but also the artistic direction (lighting, choice of flight path) and music.

rob74 3 years ago

Burning ship? Personally it reminds me more of a pair of slightly twisted gothic style church towers (Notre Dame de Paris anyone?), or the more slender version, of some kind of fantastic gothic style bridge towers (think Golden Gate Bridge)...

tibbon 3 years ago

This reminds me deeply of the lighthouses at Burning Man in 2016: https://www.google.com/search?q=burning+man+lighthouses

davedx 3 years ago

It’s the Staberinde from Use of Weapons.

ogogmad 3 years ago

I've experimented with the "Mandelbar" (sometimes called the "tricorn") fractal over the split-complex numbers: https://imgur.com/PkzY7B6

The result isn't completely trivial, but isn't particularly impressive either.

Anybody want to try Burning Ship over the split-complex numbers? It looks like you only need to replace the complex "i" with the split-complex "j".

wruza 3 years ago

Oh, fractals thread and I have a couple of questions. Are fractal “features” enumerable? Finite?

By feature I mean in fractal zoom videos they pick some zoom path and it generates repeating shapes again and again until they switch to different path. How many repeating patterns there are?

Do fractals exist with an infinite number of features?

Do fractals exist where features cannot repeat in future zoom levels? Or at least that you barely could predict where a repeating part could be. Sort of a chaotic fractal.

  • ronald_raygun 3 years ago

    Oh they fractal features are definitely infinite. I worked on a genetic algo a to breed fractals together a number of years ago, and one thing I noticed was that the highest non-zero poly power would determine the shape of the fractal - so a c^3 fractal would have "three petals", a c^4 would have "four petals". So clearly these things can have infinite features

    https://github.com/zoso95/genetic-algorithm-fractals

rep_movsd 3 years ago

I made a generative NFT based on this

I manually searched the space by zooming and panning into various areas from 2x all the way to about 10^13 zoom ans rendered them in high intensity color schemes

https://imgur.com/gallery/XQR8tNw

rsiqueira 3 years ago

This Burning Ship fractal was recreated in just 140 characters of javascript, see it working here (with source code): https://www.dwitter.net/d/25882

anewpersonality 3 years ago

Incredibly creepy. What if one day we found a fractal that contains a message from God?

  • pavlov 3 years ago

    It would be like finding the face of Jesus on a piece of toast, or the face of an alien on a satellite image of Martian surface. (Both of which were actual images that gathered some cult following in their time.)

    Spend enough time applying human interpretation to non-human processes, and something will eventually come up that tickles your senses.

    • hgazx 3 years ago

      When I was a kid I had a sound editing application (think of something like audacity) and it had a tool to generate white noise. I was deathly afraid of generating white noise and then slowing it down because I thought that I may find hidden messages.

  • ronald_raygun 3 years ago

    I think we already found that ;)

    https://en.wikipedia.org/wiki/Buddhabrot

  • Tao3300 3 years ago

    "What if one day we found a _____ that contains a message from god?" describes almost any ancient divination method. One of the things that draws us to fractals is that they show us how iteration over simple rules can built complex structures that resemble forms from the natural world.

    What I'm saying is, asking this question isn't a whole lot different than cutting open the liver of an animal sacrifice and trying to divine the will of the gods from the interior structure. Or cutting the throat of a prisoner of war and reading the splatter. Or watching the flight of birds. It doesn't say much.

  • forinti 3 years ago

    I play around with fractals a lot and once I fiddled with mandelbrot and found something that resembled a pig running on two legs.

    I guess it would be called the running pig fractal.

    This might be a message from god: don't eat pork.

  • lproven 3 years ago

    I suggest you real Carl Sagan's only novel, _Contact_.

    It's very good and by modern standards it's quite short.

    As you read it you will discover why it's relevant to your question.

  • jimmygrapes 3 years ago

    The real question is "how would we know?" To some, the very existence of fractal behavior may be the message itself - the message of infinity.

  • 867-5309 3 years ago

    this one's message seems pro-piratical

  • can16358p 3 years ago

    Generate enough digits of pi and you'll find it.

    Also check Library of Babel, there are some there too.

    /s

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection