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 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) Code: zri = point.x + flip(point.y) + cri Code: Vector point = new Vector() Code: class Vector(){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 {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 first one is special because I used a spherical clip that reveals some feature of the "inside"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: 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... 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 {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) |