Logo by Pauldelbrot - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Visit the official fractalforums.com Youtube Channel
 
*
Welcome, Guest. Please login or register. March 19, 2024, 11:13:06 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: 1 ... 27 28 [29] 30 31 ... 37   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: True 3D mandelbrot type fractal  (Read 601665 times)
0 Members and 5 Guests are viewing this topic.
bib
Global Moderator
Fractal Senior
******
Posts: 2070


At the borders...


100008697663777 @bib993
WWW
« Reply #420 on: November 11, 2009, 02:12:27 PM »

Hi
Playing with old 3D formulas is still good fun. Some videos are still calculating with intersesting 3D fractal details from pseudo-seahorse valleys...
Logged

Between order and disorder reigns a delicious moment. (Paul Valéry)
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #421 on: November 11, 2009, 03:25:39 PM »

Some Julia Set timings - all rendered within UF at the same (high) detail settings with shadowcasting and all at the same magnification. In all cases the "entire" Julia was in view (all renders 1024 wide) and the seed was (-0.05, 0.8, 0.1).
Basically this just backs up the results for the Mandelbrots.

z^2+c

Delta DE (trig): 9 mins 50 secs
Analytical DE (trig): 4 mins 50 secs
Delta DE (no trig): 1 min 51 secs
Analytical DE (trig for derivative only): 3 mins 59 secs

z^3+c

Delta DE (trig): 4 mins 17 secs
Analytical DE (trig): 3 mins 0 secs
Delta DE (no trig): 0 min 43 secs
Analytical DE (trig for derivative only): 2 mins 23 secs

z^4+c

Delta DE (trig): 3 mins 28 secs
Analytical DE (trig): 2 mins 31 secs
Delta DE (no trig): 0 min 48 secs
Analytical DE (trig for derivative only): 2 mins 06 secs

In the case of the Julias the trig and non-trig versions were all visually identical.
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
bugman
Conqueror
*******
Posts: 122



WWW
« Reply #422 on: November 11, 2009, 05:49:17 PM »

Wow, I did not realize that the non­trigonometric formulas were so much faster. Here are some higher order formulas that I found with Mathematica. Hopefully, these formulas will provide huge time savings, especially for the popular 8th order version. One nice thing about the odd powers is that they do not require any square roots, so they should be quite fast. These formulas are a bit lengthy, but they checked out correctly on my computer. For optimum efficiency, you will probably need to declare some intermediate variables to avoid redundant calculations.


* White Formulas - Higher Powers.gif (5.1 KB, 895x235 - viewed 4357 times.)
« Last Edit: November 17, 2009, 05:49:37 PM by bugman » Logged
JosLeys
Strange Attractor
***
Posts: 258


WWW
« Reply #423 on: November 11, 2009, 07:05:47 PM »

Another deep zoom on the power 8 Mandelbrot.
Magnification 4E15, so a million-billion times.
Ultrafractal switched to "extended precision" to calculate this. (meaning it worked with numbers of 20 decimals)
Any further and UF starts "arbitray precision" which takes forever to calculate, so I think this is about the limit with UF (unless Dave has other ideas. wink )
Anyway, I guess we are all convinced now that this thing is fractal, and quite uniform, so at whatever magnification we see more or less the same thing.


* 4D_test_93L.jpg (157.82 KB, 640x640 - viewed 3948 times.)
Logged
Daniel_P
Guest
« Reply #424 on: November 11, 2009, 08:35:24 PM »

Hi all,

Awesome work with the Mandelbulb!

My first post here.
I've been wondering for a little while about another possible way of generating a 3D Mandelbrot and would appreciate your thoughts.

A comment in this Reddit triggered this recent line of thought: http://www.reddit.com/r/math/comments/9nnc0/hypercomplex_fractals_pics/c0djtbw
Quote
Given two complex numbers z and w, repeatedly apply the transformation z→z^2+w (while w stays fixed)
you stop whenever the modulus of z becomes greater than 2. Then take the set of pairs (z,w) for which this process never terminates (of course, in reality you put an upper limit, say, 1000 iterations). As a pair of complex numbers has 4 real components, the set is 4 dimensional. This is the full Mandelbrot set.

Since seeing some of Thomas Banchoff's animations years ago I've been fascinated by the 3-sphere and its stereographic projection into flat 3-space (Something I explored in my 4D rotation animations here: http://spacesymmetrystructure.wordpress.com/2008/12/11/4-dimensional-rotations/ )
and what I was wondering is: What would it look like to take the intersection of the set in 4-space described above with the unit 3-Sphere and stereographically project down to 3D ?

Actually it would make more sense to work backwards - to check if a point in 3D space is part of the fractal, first reverse stereographic project like this:

   X  = 2 * x / (1 + x ^ 2 + y ^ 2 + z ^ 2)
   Y  = 2 * y / (1 + x ^ 2 + y ^ 2 + z ^ 2)
   Z  = 2 * z / (1 + x ^ 2 + y ^ 2 + z ^ 2)
   W = (-1 + x^2 + y^2 + z^2) / (1 + x^2 + y^2 + z^2)

Then do the iteration to see if it is in the set.

My questions for you are:
  • Has this been done before ?
  • Do you think the results would be interesting ?
  • How would you recommend getting started?
    I have a little programming experience but have never done any raytracing/raymarching before. From reading some of Inigo Quilez's writing I suspect that the Hubbard Douady potential might be useful here
Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #425 on: November 11, 2009, 11:32:25 PM »

Hi all, my WIP formula is not yet ready to add to the UF formula database but I've tidied it up a lot - not everything works yet (such as re-ordering the axes) but I think most will find it useable (unzip, copy all the text and paste into an open UF fractal window - needs UF5):

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

The UPR has quick example z^2+c quaternion renders - one solid on Analytical DE threshold and one on point trapping - note that pickover stalks do not produce good results on quaternions, try the other fractal types for those.

Edit: The above file still exists but is obsolete:

I just updated the WIP3D formula, new link:

http://www.fractalgallery.co.uk/MMFWip3D.zip

Again unzip, copy all the text and paste into an open UF fractal window.
This time the UPR is an example render of Pickover stalks (orbit trap) - note that "auto distances" is disabled and the solid threshold is much larger than used for solid on iteration/distance estimate.
Several more options in the formula plus some bugfixes in the analytical distance estimate methods.
This is actually named as a different formula so as not to cause compatibility issues with any renders you've already done smiley
« Last Edit: November 14, 2009, 06:30:45 AM by David Makin » Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #426 on: November 12, 2009, 04:16:30 AM »

Apologies if you guys already have this, but I just realised a more compact form of the White/Nylander formula - though not necessarily fastest in all cases (e.g. even powers<10), though it is faster than the explicit trig version in UF:

            ztemp = ((r=cabs(zri)) + flip(zj))^@mpwr
            zri = real(ztemp)*(zri/r)^@mpwr + cri
            zj = -imag(ztemp) + cj

ztemp, zri and cri all complex
r, zj and cj all real.
@mpwr real, though using complex is possible with this form.
In case anyone isn't familiar flip(zj) simply produces i*zj i.e. makes zj imaginary.
« Last Edit: November 12, 2009, 04:18:16 AM by David Makin » Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #427 on: November 12, 2009, 05:08:08 AM »

Apologies if you guys already have this, but I just realised a more compact form of the White/Nylander formula - though not necessarily fastest in all cases (e.g. even powers<10), though it is faster than the explicit trig version in UF:

            ztemp = ((r=cabs(zri)) + flip(zj))^@mpwr
            zri = real(ztemp)*(zri/r)^@mpwr + cri
            zj = -imag(ztemp) + cj

ztemp, zri and cri all complex
r, zj and cj all real.
@mpwr real, though using complex is possible with this form.
In case anyone isn't familiar flip(zj) simply produces i*zj i.e. makes zj imaginary.

It'd be interesting if someone can work out how to apply a full 3D "power" smiley
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
iq
Guest
« Reply #428 on: November 12, 2009, 08:00:31 AM »

Hi guys, I just registered to the forum because somebody pointed me to this thread this morning. I got interested in the trigonometric version of the Mandelbrot set posted here, so I wrote a small raymarcher (in C) and tried the idea. Results are interesting. First I tried it in the CPU:



Render time was about 15 minutes (512 ambient occlusion rays, one shadow ray, two light sources, 2x2 antialias at 1280x720). The raymarcher is very rudimentary, the step size is constant, no distance estimation computations to speed the marching. Not yet. The surface normal (if such a thing exists for fractals) is computed by the central differences method, it's not analytic.

Since a couple of years ago I did a demo with a quaternion 4d julia set in realtime with ambient occlusion in the GPU (Kindernoiser: http://iquilezles.org/prods/#kindernoiser), I decided to port this little raymarcher of this morning to the GPU this afternoon. Results are promising, I get almost realtime rendering (5 frames per second) without the distance estimation optimization and some non-raytrace-based ambient occlusion.

My motivation to try this has been one of those green-broccoli zooms posted by Twenbie, it so much looks like real vegetation or a forest, it's amazing. I hope I can work a bit next days again and do something like that, I will continue to do so.

Also, I think twenbie or somebody with a good raytracer handy should try some subsurface-scattering (translucent surfaces), that should rock quite a lot!!!

About the topic, it's really a pity the thing doesn't work that nicely for exponent=2, otherwise I would say this would have been the definite 3D M-Set. In any case, the choice of multiplying both angles by the exponent in the trigonometric multiplication is rather arbitrary I think. It's a pity. I somehow feel the real thing not trigonometric, but polynomial, although I'm not the one to tell. My best attempt so far was this http://iquilezles.org/www/articles/experimental3djulia/experimental3djulia.htm whici is completely ridiculous compared to the beautiful images produced by this trigonometric variation discussed in the thread.

Logged
bib
Global Moderator
Fractal Senior
******
Posts: 2070


At the borders...


100008697663777 @bib993
WWW
« Reply #429 on: November 12, 2009, 10:42:29 AM »

Hi all, my WIP formula is not yet ready to add to the UF formula database but I've tidied it up a lot - not everything works yet (such as re-ordering the axes) but I think most will find it useable (unzip, copy all the text and paste into an open UF fractal window - needs UF5):

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

The UPR has quick example z^2+c quaternion renders - one solid on Analytical DE threshold and one on point trapping - note that pickover stalks do not produce good results on quaternions, try the other fractal types for those.

Thanks so much David. Many hours of fun exploration to come smileysmiley
Logged

Between order and disorder reigns a delicious moment. (Paul Valéry)
bib
Global Moderator
Fractal Senior
******
Posts: 2070


At the borders...


100008697663777 @bib993
WWW
« Reply #430 on: November 12, 2009, 10:48:31 AM »

Very impressive image for a first post here!
My best attempt so far was this http://iquilezles.org/www/articles/experimental3djulia/experimental3djulia.htm whici is completely ridiculous compared to the beautiful images produced by this trigonometric variation discussed in the thread.

Your 3D julia images remind me a video I did recently :
<a href="http://www.youtube.com/v/uotgvkZO2Zk&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/uotgvkZO2Zk&rel=1&fs=1&hd=1</a>

and this one as well:
<a href="http://www.youtube.com/v/tCGqXDnzje8&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/tCGqXDnzje8&rel=1&fs=1&hd=1</a>
« Last Edit: November 14, 2009, 09:03:41 PM by bib, Reason: added the 2nd video » Logged

Between order and disorder reigns a delicious moment. (Paul Valéry)
lycium
Fractal Supremo
*****
Posts: 1158



WWW
« Reply #431 on: November 12, 2009, 12:13:02 PM »

hi (again!) iñigo, good to see you see you here smiley the render you posted is great!

i was also hoping to try rendering this thing on everyone's favourite little supercomputer, the gpu  afro
Logged

Aexion
Conqueror
*******
Posts: 116


The Fractal Hermit


WWW
« Reply #432 on: November 12, 2009, 02:28:15 PM »

Hello,   smiley

This very simple iteration can produce some interesting results (in a very unoptimized C code):

bool JuliaSimple(double x, double y, double z){
double radius,ny,nx,nz;
unsigned char Counter;
for(Counter=0;Counter<50;Counter++){

 nx = x*x-z*z-0.27;
 nz = 2*x*z;

ny=y;
x=nz;
y=-nx;
z=-ny;
radius=x*x+y*y+z*z;
if (radius>1000) break;
}
if(radius>1000)
return false; //its outside of the set
 else
   return true; //its on the set
}

These are two other C values:
/*nx = x*x-z*z-0.285;
nz = 2*x*z-0.1;*/

/*nx = x*x-z*z-0.27;
 nz = 3*x*z;*/

here are two renders of this system:
http://www.rfractals.net/gallery/main.php/v/JuliaSets/3DJulia1.html
http://www.rfractals.net/gallery/main.php/v/JuliaSets/3DJulia2.html

The Mandelbrot of this series doesn't looks good but I have tested it on many other julia equations (such as the phoenix and the newton fractal) and it looks interesting.


Logged

Fractals all the way..
Incendia for 3D Fractals
Aural for Musical Fractals
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #433 on: November 12, 2009, 05:40:27 PM »

here are two renders of this system:
http://www.rfractals.net/gallery/main.php/v/JuliaSets/3DJulia1.html
http://www.rfractals.net/gallery/main.php/v/JuliaSets/3DJulia2.html
The Mandelbrot of this series doesn't looks good but I have tested it on many other julia equations (such as the phoenix and the newton fractal) and it looks interesting.

Hello Aexion
It is very nice to see new person in FractalForums. I saw your renderings and they looks very interesting. You have very strange iteration formula. It looks like z^2+c formula but with additional rotation by 90 degrees after each iteration. The results are awesome because there are visible lots of beautiful spirals.
Logged

iq
Guest
« Reply #434 on: November 12, 2009, 08:39:37 PM »

I have some feedback to share.

I implemented the polynomial version of the 8x rotation (it's slightly different than the Mathematica-one posted above -  I did my own derivation based on the spherical coordinate system I'm using).  The speed improvement in the CPU version was great (4 to 5 times faster). However, the GPU version runs equally fast, no speed gain at all between trigonometric or polynomial version. Still, it's very fast (interactive to realtime, depending on the resolution/quality settings) This is disappointing, and might be related to the fact that probably the trig functions are partially implemented by little texture lookups which are fast, while the polynomial version consumes lots of instructions (MADs). Of course I took into account that most terms in the polynomials where even, so only one square root is needed per iteration in the end. So conclusion is: big speed gains in CPU, but no speed gain in the GPU sad
Logged
Pages: 1 ... 27 28 [29] 30 31 ... 37   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Implementation: 3D mandelbrot type fractal 3D Fractal Generation « 1 2 » steamraven 27 64416 Last post August 21, 2016, 12:13:13 AM
by ironfractal
Re: True 3D mandelbrot type fractal Other / General Discussion shanest 2 26277 Last post November 20, 2009, 03:24:26 AM
by fractalrebel
True 3D mandelbrot fractal (search for the holy grail continues) The 3D Mandelbulb « 1 2 ... 17 18 » illi 260 57197 Last post November 25, 2010, 12:57:55 AM
by cKleinhuis
New fractal type... latest 3d type.. a z^2 for Benoit Images Showcase (Rate My Fractal) M Benesi 0 7433 Last post October 21, 2010, 07:14:00 AM
by M Benesi
My First Mandelbrot...Okay not true. Images Showcase (Rate My Fractal) Zephitmaal 3 8247 Last post January 07, 2012, 04:30:36 PM
by Pauldelbrot

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.238 seconds with 24 queries. (Pretty URLs adds 0.013s, 2q)