Welcome to Fractal Forums

Fractal Math, Chaos Theory & Research => Theory => Topic started by: Alef on December 03, 2011, 03:41:31 PM




Title: Inverted MandelBulb
Post by: Alef on December 03, 2011, 03:41:31 PM
I' m not a shure, do someone alredy had found this. Probably did, as it is not so elaborate. Actulay, I 'm pretty new in quaternions, and I can't know all the soft. (realy I never used the most popular 3D soft) Fractal Explorer had this, but no mandelbulbs and different results, probably postprocess inversion. Blablabla...

Well, 2D fractals have post calculations transformation circle inversion. However the same results are when initialising fractal with:

{
z = 0;
C=1/pixel;
}

Or
C= recip(pixel);

When you zoom out formula still iterates area around -1 > 0 > 1, but on the inside it iterates as zoomed out > -1 ... 1 <.

Circle inverse don't work in 3D (maybe sphere inverse, but at the expense of speed.)
But quaternion formulas works pretty nicely with inverted start. C=recip(pixel); and C=1/pixel; produce different results. So recip produces fully inverted 3D "caves", much alike as in 2D. And with z=1/pixel, if not a julia set, it mostly gets inside the fractal.
Not shure about q math differences of recip and 1/x, but it looks that recip function do not inverses all of the q components. Mandelbulbs produce pretty impressive results, recip function gives something like 2D projection of mandelbulbs but in 3D terrain.


Pretty simple changes:
quaternion INV;

void init(void)
{      
if (juliaMode)
         {
         z=recip(pixel);
         cr=partx(c);
         ci=party(c);
         cj=partz(c);
         }
else
 {         z=quaternion(partx(perturb),party(perturb),partz(perturb),0);
INV=recip(pixel);
         cr=part_r(INV);
         ci=part_i(INV);
         cj=part_j(INV);      
}      
      
sx=part_r(z);      
sy=part_i(z);
      sz=part_j(z);
      dzx=1;
      dzy=0;
      dzz=0;
      starFixMin=0.5;   
}

Here is the results,

- Mandelbulb DE, power 8, min orbit colouring, recip inverted,
(http://www.ljplus.ru/img4/a/s/asdam/Inverted_mandelbulb2.jpg)

- Julia mode, recip inverted, side look.
(http://www.ljplus.ru/img4/a/s/asdam/Inverted_juliabulb_recip.jpg)

- Julia mode, 1/pixel inverted, colour speed increased by 5, calculated slower(?).
(http://www.ljplus.ru/img4/a/s/asdam/Inverted_juliabulb_1partedpixel.jpg)

- More artsy fish like mandelbulb, 100th power, recip inverted.
(http://www.ljplus.ru/img4/a/s/asdam/Inverted_mandelbulb_100power.jpg)

- Typical recip inverted quaternion. z=conj(z^4)+c Holes in imaginary axis and swirls in the real axis.
(http://www.ljplus.ru/img4/a/s/asdam/Inverted_hexacorn_typical.jpg)

This easyly could be implemented just as single flag in mandelbulb formulas. Even if too much changable variables and flags make formulas slow and user unfriendly.


Title: Re: Inverted MandelBulb
Post by: eiffie on December 03, 2011, 05:24:25 PM
Very nice. I'm sure it has been done before but I haven't. Will try it now. Thanks


Title: Re: Inverted MandelBulb
Post by: cbuchner1 on December 03, 2011, 05:43:53 PM

Post pictures, or it didn't happen   ;D


Title: Re: Inverted MandelBulb
Post by: DarkBeam on December 04, 2011, 05:49:53 PM
In mb3d, use this sequence

sphereinv
swap c-xyz
then use any formula, checking repeat from here.

I don't know why somebody must give you credit ... Inversion is one of the oldest techniques for fractals, and you can't pretend to copyright it...


Title: Re: Inverted MandelBulb
Post by: Alef on December 05, 2011, 07:02:05 PM
Very nice. I'm sure it has been done before but I haven't. Will try it now. Thanks

It realy is pretty simple, so it suprised that mandelbulb formulas I found didn't had this feature.

Yeah, must remove credits, too simple.

cbuchner1 :
Uploader had some server problems.