Logo by bib - 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 us on facebook
 
*
Welcome, Guest. Please login or register. April 20, 2024, 03:36:05 PM


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 ... 29 30 [31] 32 33 ... 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 611635 times)
0 Members and 5 Guests are viewing this topic.
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #450 on: November 13, 2009, 03:04:56 PM »

@daniel_p i think there should be at least one scientific description of what we they are doing here, it would be a pleasure
for me to collect all the informations we have here, but it would take at least 2 or 3 monthes ( hello bachelor thesis, actually i am trying to find someone who would find that interesting )

cheers  afro angel police sad
Logged

---

divide and conquer - iterate and rule - chaos is No random!
fpsunflower
Forums Newbie
*
Posts: 4


« Reply #451 on: November 13, 2009, 05:05:25 PM »

Thanks, I read the Wikipedia article, but I still do not see how this gives us the normal vector in a point, "for free".

Another good explanation that describes duals in more concrete coding terms: http://homepage.mac.com/sigfpe/paper.pdf

Not quite "free", of course you need to implement your dual number class and define add, mult, sqrt, log, div, etc ...



iq: thanks for that explanation, but I also got a bit lost in those final steps about the exact leading term.
Logged
bib
Global Moderator
Fractal Senior
******
Posts: 2070


At the borders...


100008697663777 @bib993
WWW
« Reply #452 on: November 13, 2009, 05:14:28 PM »


Bib, I'm not sure what to make of that latest blue image - maybe render a different angle and zoom in. It could be very cool...

I try to. But navigating using the parameters variations instead of "natural" 2D zooming in UF is quite tough.

I know there is nothing revolutionnary in the images I post in this thread compared to all the ground-breaking innovations we can see here, but it's just to show that zooming into 3D fractals that look like whipped cream at first sight can reveal interesting spirals and so on...
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 #453 on: November 13, 2009, 10:43:53 PM »

The formula comes, more or less, from this sequence of steps: (assume we have the regular quadratic case)
<snip>

That's interesting, I tried my own derivation of a DE formula and got it working based on the distance to the next iteration boundary.
Unfortunately I did it on scrap paper, tried several renders based on a version where the next iteration boundary was when the final magnitude on the bailout iteration became (actual final magnitude)^(1/n) where n is the divergence then realised a better method would be to actually use the smooth iteration value instead and base it on when the smooth iteration value increases by 1 smiley
Anyway it worked and when I derived the smooth iteration version I basically arrived at the normal DE formula.
All I have left of my derivations is this note on a scrap of paper I had left:

"Iteratively solve the Newton for lambda where lambda is the distance aliong the ray for intersection with the bailout sphere."

i.e. iterate both the main formula and the Newton at the same time.

Here's what I got when I used the final magnitude derivation on a Quaternion:

http://makinmagic.deviantart.com/art/Improved-Quat-Minibrot-127157826

(see the comments)


« Last Edit: November 13, 2009, 11:18:26 PM 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 #454 on: November 13, 2009, 11:37:41 PM »

Just a note to anyone reading the thread who may be unfamilier with |z| as used in standard maths notation and/or as used in Fractint and Ultra Fractal.

If z is complex as (x+iy) then in standard maths notation |z| = sqrt(x^2 + y^2)

BUT in Ultra Fractal and Fractint then |z| = x^2 + y^2 and cabs(z) is used as sqrt(x^2 + y^2) (cabs for complex absolute).

I was prompted to mention this after IQ's query regarding the correct scaling of the DE value, I also couldn't work out how "0.5" was arrived at. In UF and Fractint:

0.5*log(|z|) is equivalent to log(|z|) in standard math notation smiley

And at one point I considered that maybe the 0.5 came from mistranslations between fractal program and standard math notations.

But I don't think the 0.5 comes from that, I think it really comes from the fact that the value calculated is only an *estimate* and the 0.5 is simply used to avoid cases where the estimate is larger than the true distance - but that's just my opinion smiley
In fact the DE value I use for the Normals is assumed to be correct without the "0.5", I do however multiply the DE value by 0.5 before using the value as a step distance during ray stepping.
Also I should mention that (based on how I had to scale the DE values used to compute the normals to get correct lighting) I found (experimentally) that the visibly correct (Ultra Fractal) final DE calculation was:

            dist = 0.5*sqrt(@mpwr-1.0)*log(magn)*sqrt(magn/|dzri|)

for a Julibrot where @mpwr is the power in z^power+c, magn is |final z| (i.e. x^2+y^2) and dzri is the final derivative value.
However looking at IQ's derivation I suspect that:

            dist = 0.25*@mpwr*log(magn)*sqrt(magn/|dzri|)

May be more accurate smiley Edit: Just tried it and it doesn't seem to be better, in fact it definitely overestimates at higher powers - I not only got gradually darker and darker shading but started getting gross overstepping as well when the method using sqrt(@mpwr-1) still worked fine.
Just to add I actually checked it on quaternions and the White/Nylander.

« Last Edit: November 14, 2009, 02:25:22 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
bugman
Conqueror
*******
Posts: 122



WWW
« Reply #455 on: November 14, 2009, 05:11:39 AM »

I thoroughly double checked my non-trigonometric formulas again, and I found that the formula for {x,y,z}^4 had a minus sign error. But all the other formulas came out correct. I went back and made the correction to the original post here:
http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg8426/#msg8426
Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #456 on: November 14, 2009, 05:30:21 AM »

I thoroughly double checked my non-trigonometric formulas again, and I found that the formula for {x,y,z}^4 had a minus sign error. But all the other formulas came out correct. I went back and made the correction to the original post here:
http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg8426/#msg8426

I'm not sure what went wrong with the z^3+c when I tried it (or the other higher powers where you use abs and sign) maybe I'm missing something obvious.
Anyway the formula I quoted here http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg8475/#msg8475 can be expanded to use reals for a given power and then optimised - that formula definitely exactly matches the trig version (at least for integer powers from 2 to 60, I haven't checked fractional or negative powers).
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 #457 on: November 14, 2009, 06:29:29 AM »

Hi all,

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 (also requires UF5).
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:32:14 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
JosLeys
Strange Attractor
***
Posts: 258


WWW
« Reply #458 on: November 14, 2009, 11:58:58 AM »

Here is a very simple general procedure to obtain sin(p.a) and cos(p.a) if you know the value for sin(a) and cos(a) :

Let S=sin(a) and C=cos(a) and make a complex number z=S+iC, and put z1=z

Do z1=z1.z,   now real(z1)=cos(2a) and imag(z1)=sin(2a)  (z1=C^2-S^2 +i.2.S.C)

Do again z1=z1.z now real(z1)=cos(3a) and imag(z1)=sin(3a)

(because (sin(2a)+i.cos(2a))(sin(a)+i.cos(a) gives as real part sin(2a)cos(a)+cos(2a)sin(a)=sin(3a) and as imaginary part cos(2a)cos(a)-sin(2a)sin(a)=cos(3a) )

...
..(the (p-1)-th time)  real(z1)=cos(pa) and imag(z1)=sin(pa)

So no need for very long complicated formulas if you want do to a non-trig p-th power...
The drawback is that you need sin(a) and cos(a) which involves a square root.

For even powers this can be adapted so that you only need (sin(a))^2 and (cos(a))^2, which does away with the square root. However, when using a distance estimate based on the derivative, one always needs also the value for sin((p-1)a) and cos((p-1)a), so getting a value for sin(a) and cos(a) cannot be avoided then.

Also, if you want to do powers<1, it is no good of course.
Logged
Aexion
Conqueror
*******
Posts: 116


The Fractal Hermit


WWW
« Reply #459 on: November 14, 2009, 06:20:56 PM »

Wow, I'm away for a couple of days, and then I miss all this!

Aexion, you've got to one of my fave fractal artists ever - I love your recent "The Hexahedral Puzzle" - it has a lovely Aztec feel about it. Still think your Sunset Castle (and Return thereof) is awesome.


Thanks a lot Twinbee!!  smiley
It's nice to be here, and BTW, your renders are absolutely amazing!
Logged

Fractals all the way..
Incendia for 3D Fractals
Aural for Musical Fractals
ker2x
Fractal Molossus
**
Posts: 795


WWW
« Reply #460 on: November 14, 2009, 06:53:49 PM »

Hi all,

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 (also requires UF5).
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


Hi ! Thank you for sharing this.
I'm playing with incendia (which is awesome) since yesterday.

And with UF5 (demo Grin with closed eyes) and your formula.
Sadly, not good enough to understand the math behind (*sigh*) i just click here and there and found that i could do some interestring rendering with the "Truly 3D Mandelbrot". i don't know how "true" is my rendering and how it could be even close to anything related to a mandelbrot fractal but... it's nice.

I've seen the pic of "3D Mandelbrot" seen from the inside... it's truely awesome. But it look like most of 3D Mandelbrot rendering are done with custom renderer and not distributed at all... am i correct ?

Thx again !!

PS about the image below. "Truely 3D mandelbrot" after randomly playing with parameters

Edit : i finally found how to adjust parameters to have a 3D Mandelbrot, adjust accuracy and detail.
It is, mostly, all about "Solid Thresold" to be able to dive into details smiley


* keru3D-2.jpg (62.78 KB, 800x800 - viewed 2452 times.)
« Last Edit: November 14, 2009, 07:32:04 PM by ker2x » 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/
bib
Global Moderator
Fractal Senior
******
Posts: 2070


At the borders...


100008697663777 @bib993
WWW
« Reply #461 on: November 14, 2009, 08:55:46 PM »

Some vids based on the old M-true3D formula. Nice to watch but quite disappointing indeed sad
Watch the first one til the end you'll recognize the 2D M-set shape.
In the second one I tried to use some rotation to enhance the 3D impression
<a href="http://www.youtube.com/v/mIbDAunza6Q&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/mIbDAunza6Q&rel=1&fs=1&hd=1</a> <a href="http://www.youtube.com/v/uDUWEBAk8Ys&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/uDUWEBAk8Ys&rel=1&fs=1&hd=1</a>
« Last Edit: November 14, 2009, 09:00:58 PM by bib » Logged

Between order and disorder reigns a delicious moment. (Paul Valéry)
JosLeys
Strange Attractor
***
Posts: 258


WWW
« Reply #462 on: November 14, 2009, 11:11:04 PM »

On the question which factor should precede the analytical distance estimate formula :

is it
Quote
dist = 0.5*sqrt(@mpwr-1.0)*log(magn)*sqrt(magn/|dzri|)
or
Quote
dist = 0.25*@mpwr*log(magn)*sqrt(magn/|dzri|)
?

Let's change notation first : for the spherical case for any power I use DE=log(R)*sqrt(R)/(dR)/2, where dR is the derivative. So my factor is just 0.5.

To test how accurate this is, I took a Julia with seed (0,0,0) which produces a sphere of radius 1, so we now know the real distance for any point on a ray.

I'm printing the results below for a point progressing from a distance 2 from the surface of the sphere. The first column is the number of iterations, the second is the calculated DE, and the third is the real distance. As the point is still "far" away, and the number of iterations to reach bailout is low, then DE is exaggerated. (that's why an extra factor to temper DE is always needed). However, as the point gets closer, DE becomes very accurate.
The numbers are from a power 8 Julia, but I see almost exactly the same numbers for a degree 2.

power=8
start
         DE                        real distance
1 , 3.29583686625158 , 1.99999999999248
1 , 0.407849058786746 , 0.352081566866694
2 , 0.158627173103063 , 0.148157037473318
2 , 0.0711605799066145 , 0.0688434509217899
2 , 0.033810346387068 , 0.033263160968481
3 , 0.01649105643562 , 0.0163579877749456
3 , 0.00814527732540994 , 0.00811245955713247
3 , 0.00404797039654616 , 0.00403982089442678
4 , 0.00201786652103339 , 0.00201583569615593
4 , 0.00100740958383335 , 0.00100690243564117
4 , 0.000503324618422875 , 0.000503197643723752
5 , 0.000251567358870418 , 0.000251535334513164
5 , 0.000125759953482483 , 0.000125751655076556
5 , 6.28740467193265E-005 , 6.28716783381833E-005
Logged
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #463 on: November 15, 2009, 04:59:28 PM »

Hi
I'm still fighting with some kind of volumetric rendering. Now it's not fixed grid. Step depends on iteration count, perspective factor (bigger step in bigger distances). Additionally for improve performance and quality I use binary searching algorithm. I think it's quite enough for this kind rendering.
Generally I have lot's of trouble to render that deep perspective view, because for acceptable performance I have to add lots of factors to each shading algorithm. Details in background are 1000 times bigger than in foreground. For the farthest elements quality of shaders are much less accurate. I made the same for more transparent details. Without this optimisation this fractal will be rendered approximately in one month. Now it is possible in 8 hours with global illumination.

Render parameters:
resolution: 1280x1280
camera target: {-1.7844592849042, 0, 0}
zoom: 10000x
max. number of iterations: 80
fog range: between 65 and 80 iteration


http://www.fractalforums.com/gallery/?sa=view;id=1058
Logged

ker2x
Fractal Molossus
**
Posts: 795


WWW
« Reply #464 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/
Pages: 1 ... 29 30 [31] 32 33 ... 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 65822 Last post August 21, 2016, 12:13:13 AM
by ironfractal
Re: True 3D mandelbrot type fractal Other / General Discussion shanest 2 27496 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 58514 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 8613 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 8502 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.229 seconds with 27 queries. (Pretty URLs adds 0.018s, 2q)