An excerpt from the parameter plane of this formula iterated in a loop (p = 2):

z := z^p + c
z := (|x| - i y)^p + c
z := (x - i |y|)^p + c

Another good iteration loop formula is:

z := z^p + c
z := (|x| + i |y|)^p + c
z := (|x| + i |y|)^p + c
z := z^p + c

(p = 2)

@mathr What's happening here?
Is this like Mandelbrot fractals except you use a different formula for each step of the iteration?

@gaeel yes that's it: the second one has first iteration Mandelbrot, then two iterations of Burning Ship, then one more iteration of Mandelbrot, then repeat the 4 steps in a loop until the pixel escapes (or you give up).

@mathr I tried Julias but they didn't look very good

@gaeel you mean Julia-style rendering (c constant, z_0 set to pixel) of the formulas I posted? I haven't tried, but I suspect using the Mandelbrot-style rendering (c set to pixel, z_0 set to 0) can help find good c values to try out.

@mathr No, I meant when I do the Nebula-style rendering of Julia (c constant, z_0 set to pixel) fractals, it doesn't give particularly pretty results

The way the Nebulabrot is rendered is you record all the points you visited while iterating, and you brighten those pixels if you escaped, it's a heat-map of the escape paths, rather than a map of which values escape

@gaeel oh ok. I've done some Nebulabrot/Buddhabrot stuff in the past, it's fun to have more than 3 channels to map to RGB later.

it's probably not surprising that it's not so interesting with Julia technique, because the Julia set is invariant under iteration, and the filled-in Julia set mostly goes to a periodic attractor (well, there are some aperiodic ones for the Burning Ship I think, see )

@mathr That certainly explains what I saw, yeah, usually a few EXTREMELY hot spots and nothing anywhere else

@mathr Here's my first output
very noisy because it's just a single pass but it looks like there's some interesting shapes in there

Yeah, this is that (mandel, ship, ship, mandel) loop, and I like it!

@mathr Wow, okay, I'm having a lot of fun with this!
Did you come up with the idea of looping through functions like this or is there more literature about this out there?

I'm playing with writing a bunch of functions and letting the program choose a few on startup and seeing what happens

@gaeel I can't take credit, the idea came from someone on the "Fractal Chats" Discord server who was experimenting with Xaos (which has a syntax that is not optimal for this kind of thing).

Sign in to participate in the conversation

Welcome to, an instance for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that. This is part of a family of services that include mailing lists, group chat, and XMPP.