Welcome to Fractal Forums

Fractal Math, Chaos Theory & Research => Amazing Box, Amazing Surf and variations => Topic started by: Tglad on February 01, 2010, 02:23:26 AM




Title: Amazing fractal
Post by: Tglad on February 01, 2010, 02:23:26 AM
This is a new fractal that is member of the fractals described in http://www.fractalforums.com/3d-fractal-generation/continuous-conformal-mandelbrots/msg12464/#new
The formula is simple:
Code:
               float scale = 2
              ; fold box onto itself  
              if (point.x > 1)
                point.x = 2 - point.x
              elseif (point.x < -1)
                point.x = -2 - point.x
              endif
              if (point.y > 1)
                point.y = 2 - point.y
              elseif (point.y < -1)
                point.y = -2 - point.y
              endif
              if (point.z > 1)
                point.z = 2 - point.z
              elseif (point.z < -1)
                point.z = -2 - point.z
              endif
              ; fold sphere onto itself
              float fixedRadius = 1
              float minRadius = 0.5
              float length = point.Magnitude()
              if (length < minRadius)
                point.MultiplyEquals(sqr(fixedRadius)/sqr(minRadius))
              elseif length < fixedRadius
                point.MultiplyEquals(sqr(fixedRadius)/sqr(length))
              endif
              point.MultiplyEquals(scale)
              point.AddEquals(C)
Here are the first shots for scale = 3:


Title: Re: Amazing fractal
Post by: Tglad on February 01, 2010, 02:29:14 AM
Here's an opening, lit a little from below with scale = 3, and a shot using scale = 2.


Title: Re: Amazing fractal
Post by: cKleinhuis on February 01, 2010, 03:00:25 AM
cool one, nice ornaments!


Title: Re: Amazing fractal
Post by: msltoe on February 01, 2010, 03:46:23 AM
Tglad: This looks like the inside of a cathedral. Mesmerizing!
What is your termination condition? I'm using a norm < 32, and the extents are at least -6 to 6.
Here's a slice through the middle. If only Escher had a 2 GHz laptop...

-mike


Title: Re: Amazing fractal
Post by: Tglad on February 01, 2010, 05:36:53 AM
I'm terminating at > 1024. Need to zoom in to see the details, like attached pic for scale=3.
Scale = 2 is more connected, see 2nd pic.


Title: Re: Amazing fractal
Post by: kram1032 on February 01, 2010, 04:34:01 PM
cube cathedral  :o :D
Really great :D

Though I guess, you terminate at < 1024, rather than > 1024? ^^


Title: Re: Amazing fractal
Post by: Dinkydau on February 01, 2010, 06:22:55 PM
Very cool, I like it.


Title: Re: Amazing fractal
Post by: stigomaster on February 01, 2010, 06:44:23 PM
Steampunk fractal goodness   :dink:


Title: Re: Amazing fractal
Post by: bib on February 01, 2010, 06:49:05 PM
I LOVE these pics. It's the convergence of fractal and decorative architecture.
Anyone wrote the equivalent for Ultrafractal?


Title: Re: Amazing fractal
Post by: Tglad on February 02, 2010, 02:15:11 AM
I'm using Ultrafractal actually, to make it work, just use the code above in the inner loop (I just replace an existing mandelbulb formula where useDE is false, must be pasted in both places, for pos iteration and lighting iteration). Then add this line prior to the code
Code:
point.Init(real(zri), imag(zri), zj)
and these lines afterwards
Code:
              zri = point.x + flip(point.y) + cri
              zj = point.z + cj
and not forgetting to initialise the point vector at the beginning of the file:
Code:
Vector point = new Vector()
Lastly, you need the vector class implemented, I put this in mmf.ulb
Code:
class Vector(){
public:
  func Init(float xx, float yy, float zz)
    x = xx
    y = yy
    z = zz
  endfunc
  float func Dot(Vector other)
    return x*other.x + y*other.y + z*other.z
  endfunc
  func Divide(float f)
    x = x / f
    y = y / f
    z = z / f
  endfunc
  func Multiply(Vector a, float f)
    x = a.x * f
    y = a.y * f
    z = a.z * f
  endfunc
  func MultiplyEquals(float f)
    x = x * f
    y = y * f
    z = z * f
  endfunc
  func Normalise()
    float mag = sqrt(x*x + y * y + z*z)
    if mag>0
      x = x / mag
      y = y / mag
      z = z / mag
    endif
  endfunc
  float func Magnitude()
    return sqrt(x*x + y*y + z*z)
  endfunc
  func Add(Vector a, Vector b)
    x = a.x + b.x
    y = a.y + b.y
    z = a.z + b.z
  endfunc
  func AddEquals(Vector a)
    x = x + a.x
    y = y + a.y
    z = z + a.z
  endfunc
  func Subtract(Vector a, Vector b)
    x = a.x - b.x
    y = a.y - b.y
    z = a.z - b.z
  endfunc
  func Cross(Vector a, Vector b)
    float _x = (a.y * b.z) - (a.z * b.y)
    float _y = (a.z * b.x) - (a.x * b.z)
    float _z = (a.x * b.y) - (a.y * b.x)

    x = _x
    y = _y
    z = _z
  endfunc
  float x
  float y
  float z
}
I would add it to the MMFwip3D.ufm but I'm not sure if this is reserved just for mandelbulbs, don't know how to add an extra fractalType and am getting confused with the number of duplications of the inner loop algorithms in the latest version. Anyway, let me know if that doesn't work.

I put some pics in the gallery section http://www.fractalforums.com/index.php?action=gallery;su=user;cat=111;u=853
Do we dare go inside? -


Title: Re: Amazing fractal
Post by: M Benesi on February 02, 2010, 03:56:12 AM
  Nice.


Title: Re: Amazing fractal
Post by: twinbee on February 02, 2010, 05:59:01 AM
This is really amazing - not seen anything really like it. Definitely suited to exploration - love to see some higher res pics!


Title: Re: Amazing fractal
Post by: David Makin on February 02, 2010, 12:56:37 PM
I would add it to the MMFwip3D.ufm but I'm not sure if this is reserved just for mandelbulbs, don't know how to add an extra fractalType and am getting confused with the number of duplications of the inner loop algorithms in the latest version.

Just to clarify - the third use of the inner loop is in the "loop:" section of the UF code and it's used in the conventional UF manner such that just one iteration is performed per pass through the UF loop, you'll notice it's just the main iteration code without any DE stuff.
It's there for the "UF colouring" options where the user can choose to colour the fractal using any class-based UF colouring.
Basically the "solid" location is iterated as if it were a standard UF formula so that the orbit is passed to the colouring - of course we have to convert our 3D/4D value of z to a standard complex z value as that's all that gets passed to the colouring so what I've done is used methods such that on conversion the complex value of the z passed to the colour always has the same magnitude as the original 3D/4D value.


Title: Re: Amazing fractal
Post by: Jesse on February 02, 2010, 08:51:45 PM
Somebody burned a hole in mine  ???


Title: Re: Amazing fractal
Post by: bib on February 02, 2010, 09:29:35 PM
Thanks Tglad for the code, but my competences are too limited to put the pieces of the puzzle together. After copy/pasting your pieces of code in an approximatively random order and adding a few lines to get rid of errors like "Variable has not been detected" (C), I'm stuck with a desperately black image :/

Any chance you could post the entire code, or even better, an ultrafractal file (upr, ufr, ufm...) ?


Title: Re: Amazing fractal
Post by: Jesse on February 02, 2010, 11:12:34 PM
Here is the Scale=3 version, huge cubes.

Thanks Tglad for these, too. Very amazing.


Title: Re: Amazing fractal
Post by: kram1032 on February 03, 2010, 12:57:09 AM
It's really a nice class of fractals :)


Title: Re: Amazing fractal
Post by: msltoe on February 03, 2010, 01:45:40 AM
This fractal deserves an animated fly-through.
Here's a zoom of the center of a face of the cube:


Title: Re: Amazing fractal
Post by: Tglad on February 03, 2010, 03:41:34 AM
Thanks David for the info.
I've attached the ufm, it is using David Makin's latest code, but the non-DE White Mandelbulb formula runs this fractal instead. Look for FoldUp() function for the innards.
So just set DE method to smooth iteration, or hopefully this setup will work... just copy the text and ctrl-c on the fractal view window.

Code:
mandelbrotbox {
::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
}
Twinbee "not seen anything really like it..
No nor me, much more man-made looking, and really nothing even like its cousin in the link at the top of the thread.


Title: Re: Amazing fractal
Post by: David Makin on February 03, 2010, 05:08:09 AM
Thanks David for the info.
I've attached the ufm, it is using David Makin's latest code, but the non-DE White Mandelbulb formula runs this fractal instead. Look for FoldUp() function for the innards.


Actually that's just the upr (parameter file) so unless others manage to modify their versions of the ufm it won't render correctly.

@Tglad:
If you send me your modified versions of the ufm itself and the modified version of the ulb then I'll incorporate your method properly in my next update (if you'd like me to do that) - just send them in a zip to makinmagic@tiscali.co.uk


Title: Re: Amazing fractal
Post by: David Makin on February 03, 2010, 04:12:14 PM
Thanks David for the info.
I've attached the ufm, it is using David Makin's latest code, but the non-DE White Mandelbulb formula runs this fractal instead. Look for FoldUp() function for the innards.


Actually that's just the upr (parameter file) so unless others manage to modify their versions of the ufm it won't render correctly.

@Tglad:
If you send me your modified versions of the ufm itself and the modified version of the ulb then I'll incorporate your method properly in my next update (if you'd like me to do that) - just send them in a zip to makinmagic@tiscali.co.uk


:blush: !!! Sorry all, I missed the fact that it had the zip attached :)


Title: Re: Amazing fractal
Post by: bib on February 03, 2010, 06:04:51 PM
I'm sorry to be such an ignorant, but I get an error: "MMFwip3D.ufm (2596:23): Field or method name expected", that points to the line "point.FoldUp()"
Although the func FoldUp() is at the top of the code.
What did I do wrong?


Title: Re: Amazing fractal
Post by: Tglad on February 04, 2010, 12:04:40 AM
Maybe you still have the Vector class defined in the ulb file, so it is finding this one.. without the FoldUp() function.


Title: Re: Amazing fractal
Post by: bib on February 04, 2010, 10:35:10 AM
Maybe you still have the Vector class defined in the ulb file, so it is finding this one.. without the FoldUp() function.

YES!
Now it works. Many thanks :):)


Title: Re: Amazing fractal
Post by: bib on February 04, 2010, 05:33:26 PM
(http://www.fractalforums.com/gallery/1/492_04_02_10_5_32_29.jpeg)
http://www.fractalforums.com/gallery/1/492_04_02_10_5_32_29.jpeg

(http://www.fractalforums.com/gallery/1/492_04_02_10_5_31_29.jpeg)
http://www.fractalforums.com/gallery/1/492_04_02_10_5_31_29.jpeg


Title: Re: Amazing fractal
Post by: Timeroot on February 04, 2010, 05:38:59 PM
I love these. And after seeing the code, I finally understand what Tglad means when he's always talking about "folding Polyhedra in on themselves" - I'm curious what the "Amazing fractal" would look like when folded into a tetrahedron/octohedron? Since icosahedra and dodecahedra don't tile the plane, could you make a similar for one those too? I love these so much! The small "incisions" in cubes which are totally flat... and yet it's a fractal, without a doubt. 2 thumbs up! :thumbsup1: :thumbsup1:


Title: Re: Amazing fractal
Post by: Jesse on February 04, 2010, 05:48:10 PM
Fine images, bib. Seems to work very good - cant wait to see the next zooming vids  ;D

The location of the first one looks very interesting, think thats the location i just wanted to explore further.


Title: Re: Amazing fractal
Post by: bib on February 04, 2010, 05:52:26 PM
The small "incisions" in cubes which are totally flat...
Cubes look flat due to precision. Decreasing solid threshold and zooming reveals more incisions of course. So their surface could be infinite.

Fine images, bib. Seems to work very good - cant wait to see the next zooming vids  ;D

The location of the first one looks very interesting, think thats the location i just wanted to explore further.
The first one is special because I used a spherical clip that reveals some feature of the "inside"


Title: Re: Amazing fractal
Post by: Jesse on February 04, 2010, 06:36:50 PM
The first one is special because I used a spherical clip that reveals some feature of the "inside"

I already thought of this, because this happens all the time in my program by accident (hard to navigate).

This could be the next cubic death star in the next star wars film, i guess...


Title: Re: Amazing fractal
Post by: bib on February 04, 2010, 09:04:19 PM

This could be the next cubic death star in the next star wars film, i guess...


(http://www.fractalforums.com/gallery/1/492_04_02_10_8_11_53.jpeg)
http://www.fractalforums.com/gallery/1/492_04_02_10_8_11_53.jpeg


Title: Re: Amazing fractal
Post by: bib on February 04, 2010, 09:13:10 PM
A zoom of one little "flat" cube in the blue image a few posts above:

(http://www.fractalforums.com/gallery/1/492_04_02_10_7_34_06.jpeg)
http://www.fractalforums.com/gallery/1/492_04_02_10_7_34_06.jpeg


Title: Re: Amazing fractal
Post by: kram1032 on February 04, 2010, 09:21:49 PM
Really amazing how many details are possible in just a cube :D


Title: Re: Amazing fractal
Post by: bib on February 04, 2010, 09:35:02 PM
Once you pop you can't stop :D

(http://www.fractalforums.com/gallery/1/492_04_02_10_9_31_16.jpeg)
http://www.fractalforums.com/gallery/1/492_04_02_10_9_31_16.jpeg

(http://www.fractalforums.com/gallery/1/492_04_02_10_9_34_38.jpeg)
http://www.fractalforums.com/gallery/1/492_04_02_10_9_34_38.jpeg


Title: Re: Amazing fractal
Post by: kram1032 on February 04, 2010, 09:39:26 PM
let's start a tile and ornament shop where all those patterns are buyable on actual tiles and stuff and get some of the earnings to this forum :D xD


Title: Re: Amazing fractal
Post by: Jesse on February 04, 2010, 10:57:22 PM

This could be the next cubic death star in the next star wars film, i guess...

(Image)

Lol, and all powered by solar energy  ;)

Im just struggling with aliasing...


Title: Re: Amazing fractal
Post by: Jesse on February 04, 2010, 11:24:32 PM
After cylons attack:


Title: Re: Amazing fractal
Post by: Tglad on February 05, 2010, 01:59:29 AM
Double wow. Bib, I don't even know how you found those last two pictures. Jesse, is that a cylon in the sky?  :)

David, the MMFwip3D does an amazing job and I'm enjoying the fog and point light features. These parts remind me of a temple...

After blasting through the cliff wall, the dust settles and the sun reveals the gleaming sight of the long lost temple of Rameses ;)
(http://www.fractalforums.com/gallery/1/853_15_02_10_11_26_02.jpeg)
So we lit up a torch and stepped closer, the glow from the temple entrance was blinding
(http://www.fractalforums.com/gallery/1/853_04_02_10_6_59_40.jpeg)
(settings for first pic in its comment in my gallery http://www.fractalforums.com/index.php?action=gallery;su=user;cat=111;u=853 (http://www.fractalforums.com/index.php?action=gallery;su=user;cat=111;u=853))


Title: Re: Amazing fractal
Post by: Timeroot on February 05, 2010, 02:45:11 AM
Hey, what happens if you multiply the point by -1 after the spherical inversion? Too lazy to do it myself... and I'm just curious to see what results.  ;D


Title: Re: Amazing fractal
Post by: Jesse on February 05, 2010, 09:12:01 PM
Scale = -2 looks like this:


Title: Re: Amazing fractal
Post by: kram1032 on February 05, 2010, 11:40:01 PM
Also a nice one :D
However the other pics where from +3, right?
So, how does +2 look in comparison? Is it any different to -2?


Title: Re: Amazing fractal
Post by: Timeroot on February 06, 2010, 01:46:37 AM
Actually, I meant applying a negative conditionally, only if you do the spherical inversion (i.e. if length<fixedRadius). But negative scale values look pretty cool too!

Anyway, I was trying to get the formula you posted to work, and I'm having trouble... I had to copy the Vector class to mmf.ulb, and then I added the code "Vector point" into the first #isdef at the top of the code... I set DE to orbit traps, and although it took forever, I never got pretty pictures. :-( What's wrong?


Title: Re: Amazing fractal
Post by: Tglad on February 06, 2010, 02:58:34 AM
Solid method should be DE/Iteration, DE method should be smooth iteration. Should be Vector point = new Vector().
Are you using the zip and parameters here? http://www.fractalforums.com/3d-fractal-generation/amazing-fractal/msg12555/#msg12555
Need to- Options-Update public formulas in UF if you haven't in the last few weeks.
Scale by -1 if length<fixedRadius will tear the space. Might still look ok
Kram, most pics are from scale=2. See http://www.fractalforums.com/3d-fractal-generation/amazing-fractal/msg12473/#msg12473


Title: Re: Amazing fractal
Post by: kram1032 on February 06, 2010, 03:05:29 AM
Oh, ok :)
Kinda only read about the scale 3 ones...


Title: Re: Amazing fractal
Post by: Jesse on February 07, 2010, 12:34:47 AM
Actually, I meant applying a negative conditionally, only if you do the spherical inversion (i.e. if length<fixedRadius). But negative scale values look pretty cool too!

That one with negative on "< fixedRadius" looks also interesting, maybe a original round death star somewhere:


Title: Re: Amazing fractal
Post by: Timeroot on February 07, 2010, 01:44:33 AM
@Tglad: Got it to work. I had downloaded it, naming conflict, tried to fix it, broke it... I won't bore you. Very nice, now that I can view it myself. I hope that David incorporates it into his next release! Now maybe I'll start playing around with the code myself for a bit, hope I don't break it again.  ;)

@Jesse, thanks for the render. Looks very neat-o!

Just imagine what these pictures would look like if there was some approximately reflective properties to the surface. Just taking a surface normal, making a perspective new image from those coords at a very low res, and blending. (Maybe I shouldn't start with "Just"...) It would be tricky, and would probably take ages to render, but it would make the spheres and cubes look all the more metallic. Ah, a guy can dream...


Title: Re: Amazing fractal
Post by: M Benesi on February 07, 2010, 02:23:19 AM
Hi guys, didn't feel like writing up the vector stuff so came up with this non-vector version, which I think may be the equivalent (it works.. although I haven't replicated your guys exact images, been messing with some other formulas recently).

/* fold box onto itself  */    <-- ChaosPro uses /*  for comments  */
              if (sx > 1) {                   //sx is what I call the x component
                sx = xfold - sx;            //xfold is a parameter I set, you can use 2 like in tglad's OP
         } else if (sx<-1) {
                sx = 0-xfold - sx;
         }
              if (sy > 1) {                     //sy is the y...
                sy = yfold - sy;
         } else if (sy<-1) {
                sy = 0-yfold - sy;
         }
             if (sz > 1) {                      // guess what sz is.  I dare you.
                sz = zfold - sz;
         } else if (sz<-1) {
                sz = 0-zfold - sz;
         }
             /*fold sphere onto itself   */
              length = sqrt(sx^2+sy^2+sz^2);    //length is set to the "vectors" magnitude the old fashioned way
              if (length < minRadius) {
                t1=(sqr(fixedRadius)/sqr(minRadius));     //I use variable t1 here... could below as well, doesn't really matter
          sx=sx*t1;                                //  Of course, since it is not a vector, you have to multiply each component
          sy=sy*t1;                               //  individually... but this format has some advantages.. maybe
          sz=sz*t1;
         } else if (length < fixedRadius) {
                t2=(sqr(fixedRadius)/sqr(length));        //same thing here, assigned value t2 (could have used t1 again...)
                         sx=sx*t2;                               //then multiply each component by it
          sy=sy*t2;
          sz=sz*t2;
         }
         if (juliaMode) {                        //if it's a Julia type, add the components of c to the matching components of x,y, and z
                        sx=sx*scalef  +cr;                   //  cr is the real for sx, which is the x... ci is imaginary for y (sy).... etc.
         sy=sy*scalef  +ci;                  // I also multiply the components by the scale factor before adding in the julia
         sz=sz*scalef  +ck;                 // components:  I use the variable scalef...
         } else {
         sx=sx*scalef  +pixelr;              // and this is just normal mode, not julia, add in the corresponding pixel components each time
         sy=sy*scalef  +pixeli;              //  once again, multiply by your scale factor then add in your pixel component for each
         sz=sz*scalef  +pixelk;
         
         bail=sx^2+sy^2+sz^2;            // and I check against this bailout value...

  I wonder how it would look with a number of iterations before adding in the pixels? 

i=1;
while (i<=iter) {
....
i=i+1;
}
then add in pixel components..

  Anyways, if you can follow the above, it's a non-vector equivalent, unless Tglad or someone else spots a mistake.

  matt


Title: Re: Amazing fractal
Post by: kram1032 on February 07, 2010, 02:34:25 AM
oh that conditonal negative version looks like Star Wars meets Star Trek :)
(BORG Death Star or something :))


Title: Re: Amazing fractal
Post by: msltoe on February 07, 2010, 04:24:13 AM
Matt,

 I coded it up in C similarly. I think the square root can be taken out, by squaring everything in the if statements. That saves a little computational time.

-mike


Title: Re: Amazing fractal
Post by: M Benesi on February 07, 2010, 04:44:03 AM
Hi Mike,

  What about going through the iteration from the top again.  I don't know if it will work with sx=sx^2.  I might be missing something, but I am making some coffee to remedy that.  :D


Title: Re: Amazing fractal
Post by: msltoe on February 07, 2010, 05:12:42 AM
Matt,

Specifically, I was saying that the variable length = sqrt(sx^2+sy^2+sz^2).
So if you define length2 = sx^2+sy^2+sz^2,
then the if statement becomes "if (length2 < fixedRadius*fixedRadius)"
and "t2 = fixedRadius*fixedRadius/length2", avoiding a square root calculation.

-mike





Title: Re: Amazing fractal
Post by: Timeroot on February 07, 2010, 08:40:30 AM
Let me know if you get the ChaosPro code to work!

I've been working on the code Tglad gave, and I think I've improved it somewhat. In my version the Conformal Mandelbrot/Conformal Julia have their own option, rather than being a certain set of options to unlock them. Also, there are scale, minRadius, fixedRadius, and cubeSize parameters. (Here, cubeSize = xfold = yfold = zfold in the ChaosPro code.) I also have a check box to enable the conditional negatizing. The one thing I'm not happy with is that in the code, the Conformal formula is built more like a special kind of Mandelbulb than its own fractal. It works fine, it just will make things more confusing for the next author.

If only these things were faster. But that's the price we pay for mathematical and aesthetic appeal t


Title: Re: Amazing fractal
Post by: M Benesi on February 07, 2010, 10:50:35 AM
 Thanks Mike,   I see it now. 

 matt 

<-- has a bunch of code that needs to be cleaned up, just been righting new formulas.. and more formulas.. and more...


Title: Re: Amazing fractal
Post by: David Makin on February 07, 2010, 09:46:28 PM
An updated version of my formula is due shortly - I am just about to send a copy to Tglad and bib so bib can check that I've not broken anything and Tglad can check that my implimentation of the Mandelbox is OK.

Anyway here's a test render:

"A breach in the Core"

(http://fc09.deviantart.net/fs70/f/2010/038/7/d/A_breach_in_the_Core_by_MakinMagic.jpg)

If no image above then look here:

http://makinmagic.deviantart.com/art/A-breach-in-the-Core-153267342 (http://makinmagic.deviantart.com/art/A-breach-in-the-Core-153267342)


Title: Re: Amazing fractal
Post by: David Makin on February 07, 2010, 11:24:40 PM
An updated version of my formula is due shortly - I am just about to send a copy to Tglad and bib so bib can check that I've not broken anything and Tglad can check that my implimentation of the Mandelbox is OK.


Slight delay - I decided to add negation of the triplex value when length^p<fixedradius^p but I can't get the results Jesse got here:

http://www.fractalforums.com/3d-fractal-generation/amazing-fractal/msg12678/#msg12678 (http://www.fractalforums.com/3d-fractal-generation/amazing-fractal/msg12678/#msg12678)

Here's a my implimentation:

              k = 0
              repeat
                x1 = real(zri)
                y1 = imag(zri)
                if x1>@xmax
                  x1 = @xmax1 - x1
                elseif x1<@xmin
                  x1 = @xmin1 - x1
                endif
                if y1>@ymax
                  y1 = @ymax1 - y1
                elseif y1<@ymin
                  y1 = @ymin1 - y1
                endif
                if zj>@zmax
                  zj = @zmax1 - zj
                elseif zj<@zmin
                  zj = @zmin1 - zj
                endif
                zri = x1 + flip(y1)
                magn = (|zri| + zj*zj)^(0.5*@bpwr)
                if magn<sqr(@minr)
                  zri = ((sqr(@maxr)/sqr(@minr))^(0.5*@bpwr))*zri
                  zj = ((sqr(@maxr)/sqr(@minr))^(0.5*@bpwr))*zj
                  if @negsphere
                    zri = -zri
                    zj = -zj
                  endif
                elseif magn<sqr(@maxr)
                  magn = (sqr(@maxr)^(0.5*@bpwr))/magn
                  zri = zri*magn
                  zj = zj*magn
                  if @negsphere
                    zri = -zri
                    zj = -zj
                  endif
                endif
                zri = @scale*zri
                zj = @scale*zj
              until (k=k+1)>=@rpts
              zri = zri + cri
              zj = zj + cj

The default settings are @xmax=@ymax=@zmax=1.0, @xmax1=@ymax1=@zmax1=2.0, @xmin=@ymin=@zmin=-1.0, @xmin1=@ymin1=@zmin1=-2.0, @bpwr=2.0, @minr=0.5, @maxr=1.0, @scale=2 and @rpts=1.

Whenever I enable "@negsphere" I get failed normal calculations because the object appears to be made up of cantor dust fairly loosely packed so that getting a normal by limited tracing to adjacent solid doesn't work.
Is something wrong with the above code ? Or do I need to impliment an alternative way of getting the normals ?


Title: Re: Amazing fractal
Post by: Jesse on February 08, 2010, 12:06:51 AM

Slight delay - I decided to add negation of the triplex value when length^p<fixedradius^p but I can't get the results Jesse got here:

http://www.fractalforums.com/3d-fractal-generation/amazing-fractal/msg12678/#msg12678 (http://www.fractalforums.com/3d-fractal-generation/amazing-fractal/msg12678/#msg12678)

This one was made with only negating on length<fixedRadius, but not on length<minRadius.

Whenever I enable "@negsphere" I get failed normal calculations because the object appears to be made up of cantor dust fairly loosely packed so that getting a normal by limited tracing to adjacent solid doesn't work.
Is something wrong with the above code ? Or do I need to impliment an alternative way of getting the normals ?

Maybe averaging the smoothed iterations or the DE's over an area is the best in this case?

This cubes are not easy to raytrace, i have not tested much yet, but it seems that on many flat areas the DE will be max length.

My settings are DEstop of 2.4 pixel, DEstep factor of 0.05 and smoothing normals with ~8 points per direction.
And limiting the max step length, according to the DEaccuracy settings.


Title: Re: Amazing fractal
Post by: David Makin on February 08, 2010, 01:00:16 AM

Slight delay - I decided to add negation of the triplex value when length^p<fixedradius^p but I can't get the results Jesse got here:

http://www.fractalforums.com/3d-fractal-generation/amazing-fractal/msg12678/#msg12678 (http://www.fractalforums.com/3d-fractal-generation/amazing-fractal/msg12678/#msg12678)

This one was made with only negating on length<fixedRadius, but not on length<minRadius.

Whenever I enable "@negsphere" I get failed normal calculations because the object appears to be made up of cantor dust fairly loosely packed so that getting a normal by limited tracing to adjacent solid doesn't work.
Is something wrong with the above code ? Or do I need to impliment an alternative way of getting the normals ?

Maybe averaging the smoothed iterations or the DE's over an area is the best in this case?

This cubes are not easy to raytrace, i have not tested much yet, but it seems that on many flat areas the DE will be max length.

My settings are DEstop of 2.4 pixel, DEstep factor of 0.05 and smoothing normals with ~8 points per direction.
And limiting the max step length, according to the DEaccuracy settings.

Thanks, I'll try adding an alternative normal calculation for the delta DE methods.


Title: Re: Amazing fractal
Post by: bib on February 08, 2010, 01:01:43 AM
Hi guys
I am in holidays in the caribeans drinking rum and drawing fractals in the sand with my little boy. Looking fwd to doing more images with Dave's'updated formula!
Cheers
Bib


Title: Re: Amazing fractal
Post by: David Makin on February 08, 2010, 01:41:10 AM
OK, found an oversight in my version (forgot to add ^(0.5*@bpwr) on the compares) but it doesn't affect the problem rendering the version where the triplex is negated.
Here's what I get when it's negated only when length^2<fixedradius^2 - it's obviously not just an issue with the normals - it looks nothing like Jesse's render (NB. this is using a scale of +2):

(http://www.fractalforums.com/gallery/1/141_08_02_10_1_40_16.jpeg)


Title: Re: Amazing fractal
Post by: Jesse on February 08, 2010, 12:28:31 PM
The problem is that in the negated versions, the smoothed iterations have steps.
Attached are some 2D slices with color by smoothed Iterations, so in your image (@D.Makin) the DE stopped on the outer sphere, where in my image it doesnt and showed the interior, i guess.



Title: Re: Amazing fractal
Post by: David Makin on February 08, 2010, 01:47:59 PM
The problem is that in the negated versions, the smoothed iterations have steps.
Attached are some 2D slices with color by smoothed Iterations, so in your image (@D.Makin) the DE stopped on the outer sphere, where in my image it doesnt and showed the interior, i guess.

In that case how are you calculating the DE ?
My formula has 2 methods available - two versions of my own smoothed iterations method and a version of Buddhi's method using:

                  dist = scalefix*deltamin*magn1*log(magn1)/abs(magn1-magn)

Where magn1 and magn are the magnitudes at step and step+deltamin.
This method essentially gives the same results as the smoothed iterations method.



Title: Re: Amazing fractal
Post by: Jesse on February 08, 2010, 09:34:50 PM
In that case how are you calculating the DE ?
My formula has 2 methods available - two versions of my own smoothed iterations method and a version of Buddhi's method using:

                  dist = scalefix*deltamin*magn1*log(magn1)/abs(magn1-magn)

Where magn1 and magn are the magnitudes at step and step+deltamin.
This method essentially gives the same results as the smoothed iterations method.

Hmm, actually i am using also a method from Buddhi (thanks for that), using the 4 point method.
I think this method just lowers the probability to get under the stop-threshold in that unsteady regions, a lower accuracy may have done the rest.

A solution would be to change the calculation of magn to get smooth values again.
Tglad had choosen his formula carefully to this "unsteadyness problem", i guess.
So if we use one of the "bad math" formulas, we must take care of the folding and change Rold according to this special folding  :hmh:

But there is still so much to discover in the working formula, dont know if this so urgent.


Title: Re: Amazing fractal
Post by: Tglad on February 09, 2010, 12:43:31 AM
Yes, I would say that there are a lot of variations that don't tear space (have a step change), like rotating the space or offsetting it... and I suppose they are more steady.
David, thanks for info on getting close to objects, if you're using ultra fractal here are the tricks:

Set camera distance to small, like 1e-6. Place the camera by directly setting the target coords x,y,z. Note box's radius is about 6
Set the image plane distance to 0.05 and the front clip to a slightly smaller but negative number: -0.049, set the back clip to 10.
In the location tab set the centre to 0,0 and magnification to 40, and keep them fixed (this means _don't_ use ctrl+mouse drag or shift+mouse drag on the view)
Rotate the camera using the camera dir which is yaw clockwise, pitch upwards in degrees.
Leave dolly scale at 3.
(http://www.fractalforums.com/gallery/1/853_07_02_10_9_52_18.jpeg)

Also I noticed that the occasional burnt/black areas in images are due to the ambient occlusion which you can turn off, not sure if that's a bug or just bad settings when I use it.


Title: Re: Amazing fractal
Post by: David Makin on February 09, 2010, 04:25:52 AM
Also I noticed that the occasional burnt/black areas in images are due to the ambient occlusion which you can turn off, not sure if that's a bug or just bad settings when I use it.


The ambient occlusion method simply doesn't seem to work on the Mandelbox :( So it's definitely best to turn it off - and probably reduce the base ambient value from the default too.


Title: Re: Amazing fractal
Post by: David Makin on February 09, 2010, 04:40:49 AM
Hmm, actually i am using also a method from Buddhi (thanks for that), using the 4 point method.
I think this method just lowers the probability to get under the stop-threshold in that unsteady regions, a lower accuracy may have done the rest.

A solution would be to change the calculation of magn to get smooth values again.
Tglad had choosen his formula carefully to this "unsteadyness problem", i guess.
So if we use one of the "bad math" formulas, we must take care of the folding and change Rold according to this special folding  :hmh:

But there is still so much to discover in the working formula, dont know if this so urgent.

Yes using Buddhi's full 4-point method would probably explain how your algorithm avoids the problem.
I just tried adding "soilid only if iteration count > minimum value" *and* de<threshold - this seemed to fix the problem though I still have some issues to sort out - in particular I'm having a problem tracing to get the shadows.

Also I decided that I'd try an extra stepping method to get solid at maxiter based on single point smooth iteration values using:

  Iteration distance estimate = @scale*(atan(1.0/smoothiteration) - atan(1.0/#maxiter))^@fudge

For normal z^p+c formulas the correct value of @fudge appears to be approx. 1+3*log2(p).



Title: Re: Amazing fractal
Post by: Jesse on February 09, 2010, 10:37:16 AM
Also I decided that I'd try an extra stepping method to get solid at maxiter based on single point smooth iteration values using:

  Iteration distance estimate = @scale*(atan(1.0/smoothiteration) - atan(1.0/#maxiter))^@fudge

For normal z^p+c formulas the correct value of @fudge appears to be approx. 1+3*log2(p).

I still have to try out all the different DE methods, but one idea that i used with steps in smoothed Iterations:

For example, when using the delta DE method and the estimated step is lower than StopThreshold, then calculate again with negated delta and if this value is much bigger you are on a step and have to use the bigger value.


Title: Re: Amazing fractal
Post by: David Makin on February 09, 2010, 03:47:02 PM
Also I decided that I'd try an extra stepping method to get solid at maxiter based on single point smooth iteration values using:

  Iteration distance estimate = @scale*(atan(1.0/smoothiteration) - atan(1.0/#maxiter))^@fudge

For normal z^p+c formulas the correct value of @fudge appears to be approx. 1+3*log2(p).

I still have to try out all the different DE methods, but one idea that i used with steps in smoothed Iterations:

For example, when using the delta DE method and the estimated step is lower than StopThreshold, then calculate again with negated delta and if this value is much bigger you are on a step and have to use the bigger value.

Very good idea ! Or check the DE value calculated from the values at step+delta and step+2*delta :)


Title: Re: Amazing fractal
Post by: Jesse on February 09, 2010, 09:02:27 PM
Or simpler, if the steps are only on different non-smoothed iteration counts:
Check these for equality and step one delta forward if not.

I tried out your 1 point method but it was hard to find good values, fudge=1 gave some results on a testimage, but tiny changes of the stop threshold (because of FOV settings and depth) was leading to great changes in the DE.
Higher fudge values seems to behave somewhat better, but i had to multiply the DE by 100 (fudge=2) or even more.
Maybe i have done something wrong.

Before i used the 4 point method, i had also a 1 point method based on smoothed iteration and maximum iteration only, but i dunno had lost this piece of code  :(


Title: Re: Amazing fractal
Post by: Tglad on February 10, 2010, 12:56:08 AM
David (or anyone who knows) do you know how I could try out a new colouring scheme? The scheme I would like to try is below, I think it might give more precise colouring. I can't see quite how to add this into the UF code though. Thanks for any help!

; initialise before iterating
colourScale = 1
totalColour = black

; each iteration choose colour based on the choice of folds for that position
int numOutside = 0
if x>1 || x<-1
 numOutside = numOutside+1
endif
if y>1 || y<-1
 numOutside = numOutside+1
endif
if z>1 ||  z<-1
 numOutside = numOutside+1
endif
if numOutside==3
  colour = red
elseif numOutside==2
  colour = blue
elseif numOutside==1
  colour = green
else
  float lengthSqr = MagnitudeSquared()
  if lengthSqr < minRadiusSqr
    colour = yellow
  elseif lengthSqr < fixedRadiusSqr
    colour = brown
  else
    colour = purple
  endif
endif
; reduce the amount geometrically each iteration, so each point converges on an exact colour
colourScale = colourScale*0.5
; accumulate the colour so each iteration we mix in a small amount of the new colour
totalColour = totalColour + colourScale*colour


Title: Re: Amazing fractal
Post by: David Makin on February 12, 2010, 01:05:52 AM
Hmm, actually i am using also a method from Buddhi (thanks for that), using the 4 point method.
I think this method just lowers the probability to get under the stop-threshold in that unsteady regions, a lower accuracy may have done the rest.

A solution would be to change the calculation of magn to get smooth values again.
Tglad had choosen his formula carefully to this "unsteadyness problem", i guess.
So if we use one of the "bad math" formulas, we must take care of the folding and change Rold according to this special folding  :hmh:

But there is still so much to discover in the working formula, dont know if this so urgent.

Yes using Buddhi's full 4-point method would probably explain how your algorithm avoids the problem.
I just tried adding "soilid only if iteration count > minimum value" *and* de<threshold - this seemed to fix the problem though I still have some issues to sort out - in particular I'm having a problem tracing to get the shadows.

Also I decided that I'd try an extra stepping method to get solid at maxiter based on single point smooth iteration values using:

  Iteration distance estimate = @scale*(atan(1.0/smoothiteration) - atan(1.0/#maxiter))^@fudge

For normal z^p+c formulas the correct value of @fudge appears to be approx. 1+3*log2(p).



Much better method for using single-point smooth iteration for the DE:

  Iteration distance estimate = @scale*(atan(1.0/log(1+smoothiteration)) - atan(1.0/log(1+#maxiter)))^@fudge

I haven't finished investigating the correct values for @scale and @fudge yet but using 4 for @fudge looks pretty good on z^2+c :)



Title: Re: Amazing fractal
Post by: David Makin on February 12, 2010, 04:03:54 AM
I just updated my wip 3D formula for Ultra Fractal to include the Mandelbox - see here:

http://www.fractalforums.com/mandelbulb-implementation/update-to-the-mmf-wip-formula-for-ultra-fractal/ (http://www.fractalforums.com/mandelbulb-implementation/update-to-the-mmf-wip-formula-for-ultra-fractal/)

The implimentation includes Jesse's suggested fix for when negation of the triplex is enabled when the spherical inversions are applied.

Here's an example from using such negation when the magnitude is less than the maximum radius but greater than the minimum:

"Architectural Breakdown"

(http://fc01.deviantart.net/fs70/f/2010/041/0/f/Architectural_Breakdown_by_MakinMagic.jpg)

If no image above then look here:

http://makinmagic.deviantart.com/art/Architectural-Breakdown-153629028 (http://makinmagic.deviantart.com/art/Architectural-Breakdown-153629028)

Two more using the default settings for the Mandelbox:

"The God in Moties' Eyes"

(http://fc04.deviantart.net/fs70/f/2010/041/c/6/The_God_in_Moties___Eyes_by_MakinMagic.jpg)

If no image above then look here:

http://makinmagic.deviantart.com/art/The-God-in-Moties-Eyes-153629972 (http://makinmagic.deviantart.com/art/The-God-in-Moties-Eyes-153629972)

"After the earthquake"

(http://fc04.deviantart.net/fs70/f/2010/042/f/a/After_the_earthquake_by_MakinMagic.jpg)

If no image above then look here:

http://makinmagic.deviantart.com/art/After-the-earthquake-153744734 (http://makinmagic.deviantart.com/art/After-the-earthquake-153744734)


Title: Re: Amazing fractal
Post by: David Makin on February 12, 2010, 04:36:41 AM
David (or anyone who knows) do you know how I could try out a new colouring scheme? The scheme I would like to try is below, I think it might give more precise colouring. I can't see quite how to add this into the UF code though. Thanks for any help!


Nice idea - it's basically the same as a colouring method often implimented for escape-time IFS, I'll see if I can get it added in an update this weekend :)


Title: Re: Amazing fractal
Post by: Timeroot on February 12, 2010, 04:43:27 AM
Could you by any chance give a upr? I'm getting loads of noise... more than I prefer...


Title: Re: Amazing fractal
Post by: David Makin on February 12, 2010, 04:49:47 AM
Could you by any chance give a upr? I'm getting loads of noise... more than I prefer...

Code:
MMF-AmongstTheAsteroids {
; Copyright © 2010 by David Makin.
::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
}


Title: Re: Amazing fractal
Post by: David Makin on February 12, 2010, 04:51:23 AM
Could you by any chance give a upr? I'm getting loads of noise... more than I prefer...

I should have added that when using the "negation" options on the Mandelbox then you should usually enable "Double check for solid" in the Render settings section.


Title: Re: Amazing fractal
Post by: David Makin on February 12, 2010, 09:55:59 PM
For anyone having problems getting a decent render of the default Mandelbox using my UF formula - you should note that the default Mandelbox is approximately a cube centred at the origin with sides of length around 12 units i.e. it is considerably larger than the default viewing settings are set for.
So from the default to view the Mandelbox change the "Camera distance" to 11 and the "Back clip" to 23 and you will get a better view.
Also because of the difference in scale to the Mandelbulbs, change the "Solid Threshold" to say 1e-2 instead of 1e-3.


Title: Re: Amazing fractal
Post by: cKleinhuis on February 12, 2010, 11:34:03 PM
it says MMFWip3dNew is needed :(

and if no one says a word against it, i would like to close this thread, because
it had a main theme, and now it is diverging again into detail questions on implementation
but it is no more affecting the original thread theme :police: :police: :police:


Title: Re: Amazing fractal
Post by: Timeroot on February 13, 2010, 01:18:43 AM
I would just like to say - before this is closed - that MMFWip3dNew must have been what it was called on David's computer; but using the current one, "MMFWip3d", which is linked to at the top of this thread, works just fine.  :)


Title: Re: Amazing fractal
Post by: David Makin on February 13, 2010, 02:49:43 AM
I would just like to say - before this is closed - that MMFWip3dNew must have been what it was called on David's computer; but using the current one, "MMFWip3d", which is linked to at the top of this thread, works just fine.  :)

That's correct - when UF complains just select the wip3D5 formula from MMFwip3D.ufm.
My apologies for forgetting to do so prior to posting the UPR.


Title: Re: Amazing fractal
Post by: cKleinhuis on February 13, 2010, 03:00:32 PM
alright, please stop posting here, and make up a new thread for asking questions on usage of the formula


Title: Re: Amazing fractal
Post by: Buddhi on February 14, 2010, 02:53:09 PM
@Tglad, many thanks for showing us this incredible fractal formula. You had very good idea with folding function. I have just rendered some cubes and tried to flight inside. Interior is really beautiful!!!
For rendering I used my delta DE algorithm. I'm surprised that it works well with this very not-lineal function.

scale = 2
(http://www.fractalforums.com/gallery/1/640_14_02_10_2_40_34.jpeg)
http://www.fractalforums.com/index.php?action=gallery;sa=view;id=1624
http://krzysztofmarczak.deviantart.com/art/Inside-Tglad-s-Cube-fractal-2-154069015

I'm preparing to render some flight animation through these endless tunnels (It will take about 100 hours :) )


Title: Re: Amazing fractal
Post by: kram1032 on February 14, 2010, 03:39:01 PM
just stunning :D
I love how pretty organic values come to quite "pure" shapes in this kind of fractal.
I wonder if you could derive a building-generator from the formula :)


Title: Re: Amazing fractal
Post by: Tglad on February 16, 2010, 03:33:25 AM
Nice render. Its interesting how clean parts can get interrupted by more chaotic areas, that look like its crumbling away. You get the same thing on the other folding conformal fractal here http://www.fractalforums.com/3d-fractal-generation/continuous-conformal-mandelbrots/ (http://www.fractalforums.com/3d-fractal-generation/continuous-conformal-mandelbrots/).
Kram, it would be cool if someone worked out how to control all these fractals go make a landscape (+ buildings) as they wish... then leave all the finer detail to fractals. I guess there are some tools that do stuff like that.. at least generating random landscapes with trees and rivers.

Anyhow I'll put this and some other interior shots into a new post... so its better named as trifox pointed out.


Title: Re: Amazing fractal
Post by: David Makin on March 12, 2010, 10:13:44 PM
David (or anyone who knows) do you know how I could try out a new colouring scheme? The scheme I would like to try is below, I think it might give more precise colouring. I can't see quite how to add this into the UF code though. Thanks for any help!

; initialise before iterating
colourScale = 1
totalColour = black

; each iteration choose colour based on the choice of folds for that position
int numOutside = 0
if x>1 || x<-1
 numOutside = numOutside+1
endif
if y>1 || y<-1
 numOutside = numOutside+1
endif
if z>1 ||  z<-1
 numOutside = numOutside+1
endif
if numOutside==3
  colour = red
elseif numOutside==2
  colour = blue
elseif numOutside==1
  colour = green
else
  float lengthSqr = MagnitudeSquared()
  if lengthSqr < minRadiusSqr
    colour = yellow
  elseif lengthSqr < fixedRadiusSqr
    colour = brown
  else
    colour = purple
  endif
endif
; reduce the amount geometrically each iteration, so each point converges on an exact colour
colourScale = colourScale*0.5
; accumulate the colour so each iteration we mix in a small amount of the new colour
totalColour = totalColour + colourScale*colour

Have now added a colouring option based on the "genetics", though at the moment it isn't using colours directly:

An extra "Lighting + Orbits" colouring method is now available in the updated mmfwip3d formula (wip3D5).
This allows full-3D based orbit trapping for any of the formula types plus the option of using "genetics" based colouring for the "Lowe's Mandelbox" and "Simple Sierps" formulas.

http://www.fractalgallery.co.uk/MMFwip3D.zip (http://www.fractalgallery.co.uk/MMFwip3D.zip)