News: Visit the official fractalforums.com Youtube Channel
 
*
Welcome, Guest. Please login or register. April 18, 2014, 05:25:24 AM


Login with username, password and session length



Pages: 1 ... 30 31 [32] 33 34 ... 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 262863 times)
0 Members and 1 Guest are viewing this topic.
ker2x
Fractal Molossus
**
Posts: 706


WWW
« Reply #465 on: November 15, 2009, 06:08:14 PM »

hooo fluffy \o/
Logged

often times... there are other approaches which are kinda crappy until you put them in the context of parallel machines
(en) http://www.blog-gpgpu.com/ , (fr) http://www.keru.org/ ,
Sysadmin & DBA @ http://www.over-blog.com/
iq
Guest
« Reply #466 on: November 16, 2009, 03:29:46 AM »

if anybody is interested, this is the full polynomial replacement for Z->Z^8+C, simplified (still one inverse square root, but that's much faster than a square root)

Code:
// Z=(x,y,z), C=(a,b,c)

float x2 = x*x; float x4 = x2*x2;
float y2 = y*y; float y4 = y2*y2;
float z2 = z*z; float z4 = z2*z2;

float k3 = x2 + z2;
float k2 = inversesqrt( k3*k3*k3*k3*k3*k3*k3 );
float k1 = x4 + y4 + z4 - 6.0*y2*z2 - 6.0*x2*y2 + 2.0*z2*x2;
float k4 = x2 - y2 + z2;

x = a +  64.0*x*y*z*(x2-z2)*k4*(x4-6.0*x2*z2+z4)*k1*k2;
y = b + -16.0*y2*k3*k4*k4 + k1*k1;
z = c +  -8.0*y*k4*(x4*x4 - 28.0*x4*x2*z2 + 70.0*x4*z4 - 28.0*x2*z2*z4 + z4*z4)*k1*k2;
« Last Edit: November 16, 2009, 05:18:55 AM by iq » Logged
lycium
Fractal Iambus
***
Posts: 939



WWW
« Reply #467 on: November 16, 2009, 03:41:00 AM »

thanks for this iņigo! and aexion, interesting to see you here too...

btw, this article has been featured not only on reddit but now also slashdot... twinbee's poor webserver is getting completely crushed under all the traffic, but it looks like fractalforums is (mostly) holding up  afro
Logged

cKleinhuis
Administrator
Fractal Senior
*******
Posts: 5264


formerly known as 'Trifox'


WWW
« Reply #468 on: November 16, 2009, 11:48:16 AM »

i just checked some traffic stats, it is not as much ... just 4 times more than on usual days ...

hope it will stay like this, traffic problems shouldnt occur, because of unlimited data transfer smiley
last time google featured gaston julias birthday a few gigabytes were sucked through the lines in a few hours ( back in 2006 i think )

but 270 guests dont seem to be only bots wink

yeah, congratulations all contributors this thread is going to be really really long ....

just nice to get mentioned ... me as "only" the site owner is very happy ...  wink Azn smiley grin cheesy
« Last Edit: November 16, 2009, 11:50:34 AM by Trifox » Logged

---

divide and conquer - iterate and rule - chaos is No random!
iq
Guest
« Reply #469 on: November 16, 2009, 12:11:09 PM »

Hi, I added some distance estimation to the raymarcher based on the G/|grad(G)|, which is the very basic definition of DE, so I have no confusion possible with unkown constant factors. It works fine, but it's still "slow" cause I compute the gard(G) numerically, but since I have the polynomials for the iterations I will be able to compute it analycally tomorrow. I have extracted the Jacobian already, which is a bit of a monster. The normal to the surface is simply n = J * z (a vector transformation), so I will have analytical normals too. In the meanwhile I think I should try David-Makinīs way of DE, which only uses 2 points (mine uses 4).

In the meanwhile, I made a little nice trick with orbit traps, to add color and occlusions for free. The following image (reduced from 1280x720) takes around 2 seconds to render. I expect to have it realtime soon (I'm rendering a video tonight with motion blur, it should be ready by tomorrow)


http://iquilezles.org/trastero/f8p2.jpg

There seem to be some ambient occlusion in there, but there isn't. The trick is to use an orbit traps to fake it. Like in the 2D case, you can define a 3D geometric trap and track the orbit of Z relative to this trap. I used a simple point trap in the origin and use itīs distance to extract a fake occlusion term. It looks like thisŅ


http://iquilezles.org/trastero/f8p3.jpg

There is no global illumination, or raycasting of the hemisphere nor a shadow ray in it or anything. So for those with "simple" raytracers that cannīt do/afford GI, this is a nice trick to increase realism (if thatīs your goal at all).

I used three more line traps to add coloring to the surface, which is nicer that doing simple color=position or color=perlinnoise(position), as the orbit trap patterns naturally follow the shape of the fractal, so the features in the structure get colored in a logical manner.

I donīt know how much the analytic gradient(G) will help, but it should in theory be a x3 gain. Will continue to inform.

In the meanwhile, I was having some thoughts. The polynomial version of formulas really highlight how "asymmetric" the formulas are. I wonder if the holly grail of the true 3d M-Set shouldnīt have a bit more even formulas for x,y,z... Not completely symmetric, but at least something more reasonable?

JosLeys, so in the end which of the formulas is the correct one for DE?
Logged
bib
Global Moderator
Fractal Senior
******
Posts: 1986



@bib993
WWW
« Reply #470 on: November 16, 2009, 12:18:12 PM »

The following image (reduced from 1280x720) takes around 2 seconds to render. I expect to have it realtime soon (I'm rendering a video tonight with motion blur, it should be ready by tomorrow)

2 seconds, waaaooo!
Logged

Between order and disorder reigns a delicious moment. (Paul Valéry)
iq
Guest
« Reply #471 on: November 16, 2009, 12:28:04 PM »

another image I took before launching the video render:

Logged
twinbee
Fractal Fertilizer
*****
Posts: 383



WWW
« Reply #472 on: November 16, 2009, 12:37:22 PM »

I thought mine was fast, but 2 seconds!!! Right, I see you're from the year 2050 then? wink

Lycium's right - my server was dying (10k hits per hour), but I managed to get a lot of the content over to Amazon S3 - a great solution for bandwidth at commodity prices. This thread is linked from Slashot too. Surprised to hear only 4x as many visitors (Trifox, you must get 2500 per hour ordinarily wink )

Congrats all cheesy
Logged
iq
Guest
« Reply #473 on: November 16, 2009, 12:42:44 PM »

Quote
I thought mine was fast, but 2 seconds!!! Right, I see you're from the year 2050 then?

no, no, not at all, I wish I did something special to take credit for that speed, but itīs not the case. It's simply that GPUs happen to be super fast today, so even when directly progamming the brute force thing in opengl it just runs fast.
Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2188



Makin' Magic Fractals
WWW
« Reply #474 on: November 16, 2009, 12:46:56 PM »

The following image (reduced from 1280x720) takes around 2 seconds to render. I expect to have it realtime soon (I'm rendering a video tonight with motion blur, it should be ready by tomorrow)

I both hope and assume that's 2 seconds using the GPU ?
Can anyone please send me Ģ2000 so I can get a new system ? (this P4HT is a dinosaur - only an ATI X600 too) cheesy
Logged

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

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 5264


formerly known as 'Trifox'


WWW
« Reply #475 on: November 16, 2009, 12:49:18 PM »

Lycium's right - my server was dying (10k hits per hour), but I managed to get a lot of the content over to Amazon S3 - a great solution for bandwidth at commodity prices. This thread is linked from Slashot too. Surprised to hear only 4x as many visitors (Trifox, you must get 2500 per hour ordinarily wink )
Congrats all cheesy

to be true, i am lazy and just checked the forum stats, it has an enormous count of online users for today: more than 1000.
i will check server logs tonight to give extra information ( in the fractalforums.com news thread )

enjoying it, and i have to agree with iq and twinbee that the "smearing" looks a bit odd at the renderings, but on the other hand they look for me like a hint.
so, it occurs that ~80% of the formula might be like we expect, but on the radial sections around some degrees ( could be 4 disconnected sections ) where the smearing
occurs it is somehow "not correct" but i am optimistic, because it is only a little part of the formula which might be changed to get fractal borders anywhere on
the object. in fact this object is constructed from "fractal" and "euclidian" regions ....

dup dee dup, keep it on ! enjoy this thread more from day to day!  afro afro afro
Logged

---

divide and conquer - iterate and rule - chaos is No random!
twinbee
Fractal Fertilizer
*****
Posts: 383



WWW
« Reply #476 on: November 16, 2009, 12:51:10 PM »

iq, how general is your GPU for programming? Can you use double types, and do all the mathematical things you want? I'm guessing the code is harder to maintain when it's threaded as well?

But, wow, so worth it for the speed...

Quote
Can anyone please send me Ģ2000 so I can get a new system ?

Quadcores are pretty cheap - you'll love the multitasking too, though try to get 4GB of RAM too if poss - makes all the difference. I'll be upgrading to 64 bit Windows 7 so I can handle resolutions larger than 7000x7000 (yum cheesy )
« Last Edit: November 16, 2009, 12:57:34 PM by twinbee » Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2188



Makin' Magic Fractals
WWW
« Reply #477 on: November 16, 2009, 12:54:52 PM »

<snip>
In the meanwhile I think I should try David-Makinīs way of DE, which only uses 2 points (mine uses 4).
<snip>
JosLeys, so in the end which of the formulas is the correct one for DE?

The key part of my delta DE is the storing/testing of the maxdist values at a given iteration for a given ray, for each new step distance calculated I use:

              if j<=miter
                if step<dists[j]
                  repeat
                    dists[j] = step
                    j = j + 1
                  until step>=dists[j] || j>miter
                  if j>miter
                    mdist = step
                  endif
                else
                  step = dists[j]
                endif
              else;if j>miter
                miter = miter + 1
                if step>mdist
                  step = mdist
                endif
                while miter<j
                  dists[(miter=miter+1)] = mdist
                endwhile
                dists[j] = step
              endif

Where mdist is the absolute minimum found on the ray and miter is the maximum iterations used on the ray.

With respect to the scale factor for DE I'm just about to do some testing - I think I have an older version of my formula that calculates in the global section so I can check values the way Jos did but for an entire render by setting the threshold very small indeed and assuming the final value is "correct", this should give a good idea whether values at 100* greater distance are accurate or not.
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: 2188



Makin' Magic Fractals
WWW
« Reply #478 on: November 16, 2009, 12:58:55 PM »

iq, how general is your GPU for programming? Can you use double types, and do all the mathematical things you want? I'm guessing the code is harder to maintain when it's threaded as well?

But, wow, so worth it for the speed...

Quote
Can anyone please send me Ģ2000 so I can get a new system ?

Quadcores are pretty cheap - you'll love the multitasking too, though try to get 4GB of RAM too if poss - makes all the difference. I'll be upgrading to 64 bit Windows 7 so I can handle resolutions larger than 7000x7000.

Due to my "day-job" it only really makes sense for me to upgrade to a Mac Pro so I can work from home (we develop for the iPhone/iTouch) and getting a fast one too makes it rather expensive sad
Logged

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

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



@bib993
WWW
« Reply #479 on: November 16, 2009, 02:10:42 PM »

Hi,
I have already posted this video in another thread, but I put it here as well just to increase number of hits.
140 hits on Youtube since I posted it this morning, it's incredible!
Although I know it will be outperformed very soon by iq's videos smiley
<a href="http://www.youtube.com/v/LxsniUIVfEM&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/LxsniUIVfEM&rel=1&fs=1&hd=1</a>
Logged

Between order and disorder reigns a delicious moment. (Paul Valéry)
Pages: 1 ... 30 31 [32] 33 34 ... 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 26 16197 Last post December 08, 2011, 04:27:52 PM
by Alef
Re: True 3D mandelbrot type fractal Mandelbulb Software shanest 2 7758 Last post November 20, 2009, 03:24:26 AM
by fractalrebel
True 3D mandelbrot fractal (search for the holy grail continues) 3D Fractal Generation « 1 2 ... 17 18 » illi 260 47260 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 1504 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 935 Last post January 07, 2012, 04:30:36 PM
by Pauldelbrot

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines

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