Logo by stardust4ever - 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: Follow us on Twitter
 
*
Welcome, Guest. Please login or register. March 29, 2024, 03:15:16 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 [2] 3   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: "Real" 3D Mandelbrot attempt  (Read 11201 times)
0 Members and 1 Guest are viewing this topic.
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #15 on: June 24, 2009, 12:36:47 PM »

Perhaps zooming in far enough (even if it takes 10^(10^(10^10)) etc. zooms) would show a clearly visible surface as well.

It would, provided that the algorithm for finding the surface works will enough at higher iterations.
Generally the problem is that to zoom into 3D fractal objects (accurately) increasing the detail shown proportionately requires say a minimum of time*8 for a doubling of the detail.
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 #16 on: June 25, 2009, 12:31:49 AM »

On the subject of rendering and getting the surface - I sincerely hope this converts nicely to 3D from 2D.
In the other thread on the "True 3D" Mandy I mentioned the possibility of solving: z = p + a*d and |In(z = z^2+c)|=@bailout for "a" where p is our viewpoint, a is the distance to step, d is the unit direction vector for the viewing ray and In(z^2+c) is the iterate of z^2+c to a given iteration depth n, well here it is in 2D - note that it's fairly sensitive to the various values used so I'm not sure how well it will perform for fractals other than plain z^2+c.
Basically it's a directional distance estimator - note that I found I had to use cabs(In(z=z^2+c)) and the "correct" bailout value instead of the usual || and the squared bailout.
Unfortunately this method also requires the derivative, so at the moment I only know how to apply it to Julibrots, Quaternions and standard Hypercomplex.

Wooo-hoooo boy does it work !!!

See my very first largish test render:

http://makinmagic.deviantart.com/art/Quat-Minibrot-test-render-127116649

Now to impliment it for standard hypercomplex....unfortunately I suspect it won't work for Julibrots but I may be wrong.
Note that it doesn't allow low-iteration i.e. low detail rendering, you can control the detail but the minimum possible starts much higher than using other methods due to the nature of the algorithm.

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 #17 on: June 25, 2009, 08:29:00 AM »

See my very first largish test render:

http://makinmagic.deviantart.com/art/Quat-Minibrot-test-render-127116649

Now to impliment it for standard hypercomplex....unfortunately I suspect it won't work for Julibrots but I may be wrong.
Note that it doesn't allow low-iteration i.e. low detail rendering, you can control the detail but the minimum possible starts much higher than using other methods due to the nature of the algorithm.


OK so I haven't tried it on the hypercomplex version yet but I simplified and improved tthe method and now I'm seriously smug:

http://makinmagic.deviantart.com/art/Improved-Quat-Minibrot-127157826
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 #18 on: June 27, 2009, 01:40:56 AM »

And finally....



If the image above doesn't appear then go here:

http://makinmagic.deviantart.com/art/Final-Quat-Minibrot-127356427

On further investigation I discovered that the algorithm I was trying for distance estimation was just the standard method in disguise - and the standard method works better smiley
However I was tryng to find a better method because I wanted a method that allows you to render 3D/4D fractals such that the distance from the "inside" is fairly large and when using distance estimation this leads to visible "stepping" on the images.
In my iteration density method this issue was fixed by performing a binary search when solid is found to get the exact boundary and I'd previously tried implimenting this method for when using DE and failed to get it to work properly, however, convinced it *should* work I tried again and fixed the mistake I was making and this result was obtained using that method.
Logged

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

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
twinbee
Fractal Fertilizer
*****
Posts: 383



WWW
« Reply #19 on: June 27, 2009, 07:41:41 PM »

Cool shape generally, (and nice zoom in), though it does seem almost equivalent to the lathe / 'vase' version of the 2D mandelbrot spun round its own axis... (still, wouldn't mind seeing it raytraced)
« Last Edit: June 27, 2009, 07:43:12 PM by twinbee » Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #20 on: June 27, 2009, 08:38:39 PM »

Cool shape generally, (and nice zoom in), though it does seem almost equivalent to the lathe / 'vase' version of the 2D mandelbrot spun round its own axis... (still, wouldn't mind seeing it raytraced)

Well that's exactly what quaternionic Mandelbrots produce smiley
By raytraced I take it you mean either rendered to object format for use in a normal 3D renderer ? Or just with full ray-tracing including shadows and better lighting ? It is raytraced but only using plain diffuse lighting directionally from the viewpoint.

I've been trying to get a better algorithm for rendering the "Real 3D" Mandy based on DE but it's looking like the only way to do so is to correctly get and use the derivative and use full DE - using the directional density along the viewing ray does not work very well for various reasons, I managed to get it rendering a quaternion pretty accurately around 4* slower than using full DE but when I plug in the 4D maths for the "Real 3D" version instead it renders pretty accurately but takes 15 to 20 times longer than the quaternion version !! I guess that's an indication of the complexity of the maths involved in the "Real 3D" version as compared to quaternionic or hypercomplex maths i.e. it must fold/warp the 4D space in much more complex ways.
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 #21 on: June 30, 2009, 12:49:42 AM »

those speckles are why i use a probabilistic ("cloud") intersection algorithm: there is essentially no surface there (i.e. there is no fixed step size that will give coherent results).

also, when doing a close-up zoom like this you'll want to use a much smaller step size to eliminate the "layering" artefacts.

I'd be interested to see what your algorithm makes of this one smiley

I reduced the step-size by a factor of 10 on this one compared to the others, I didn't try reducing it further because even the render I did took 35mins at 640*480 ! (At the moment my step-size reduction algorithm isn't as "smart" as it should be - it reduces *all* step sizes when ideally it should only reduce them as the solid is approached, though actually for most of the errors I get with this algorithm I think that simply: for a given ray after calculating the next step size check that step size against the current minimum at that iteration depth, if it's larger than the current minimum for that iteration depth then step the current minimum instead, if it's smaller then update the current minimum).

OK I now have two algorithms that work pretty well without requiring the derivative. They both work based on the directional iteration density at each step along the viewing ray, one based on the classic "s = u*t + 0.5*a*t^2" and the other loosely based on the Newton step i.e. f()/f'(). The problem with both methods was that a ray passing close to "solid" but missing would then give large values for the calculated step distances just after passing the solid - the solution (as I mentioned above) is to check each new step size against the minimum for the given iteration depth (for that ray) and if it's larger then use the step size for that depth instead, otherwise use the step distance *and* store it as the new minimum for that iteration depth - I also test and conditionally store it for the next 3 higher iteration levels.
Both these methods produce results comparable to full distance estimator and both are between 3.5 and 4 times slower than full DE when used on quaternionic or standard hypercomplex fractals *but* both methods will work when you can't efficiently get the derivative and also for Julibrots and similar formulas where DE has issues in any case. The method solving "s = u*t + 0.5*a*t^2" for t is probably slightly better overall and in that case you have to check for "a" being zero otherwise you get specks (even in the middle of enpty space) - use s=ut instead here smiley However if the main iteration loop of the fractal is slow (e.g. involving transcendentals) then the f()/f'() method will be better since that only requires the single delta value not the double delta i.e. you only have to iterate at step and step + a bit rather than at step, step + a bit and step - a bit.
Note that 3.5 to 4 times slower (on quaternions and standard hypercomplex) than DE is still around 8.5 times faster than my old routine - though just out of interest I'm going to try the iteration depth limitation trick in that routine too and see how much it helps 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
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #22 on: July 26, 2009, 02:13:46 PM »

One more, another cousin of the "True 3D" Mandy.
This one is very complicated in detail, I have a hunch that it's truly fractal in all dimensions smiley
The small image in the bottom-right is the "full" Mandy, the red box showing the location of the full-view (same location and parameters as the other recent renders I've done of the minibrot).

<Quoted Image Removed>

If the image above doesn't appear, go here:

http://makinmagic.deviantart.com/art/quot-Real-3D-quot-Mandy-cousin-126890045

Multiplication table for the unit vectors for this one:

* |  r   i   j   k
----------------
r |   r   i   j   k
i |   i  -r  -k -j
j |   j -k  -r  -i
k |  k -j  -i   r


I rendered the same place using my 3D engine. You're right, it's VERY complicated in detail!

Logged

cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #23 on: July 26, 2009, 02:28:01 PM »

how do you define the formulas ?
what if i would like to see sin(z^2)+c ?
cheesy
Logged

---

divide and conquer - iterate and rule - chaos is No random!
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #24 on: July 26, 2009, 10:18:15 PM »

I rendered the same place using my 3D engine. You're right, it's VERY complicated in detail!

Ah, thanks !! I think that gives us more idea what it's really like - no wonder I was having problems rendering it smiley

It looks like it may not be connected ? How to find out.... (beyond my math theory skills).
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 #25 on: July 26, 2009, 10:20:15 PM »

how do you define the formulas ?
what if i would like to see sin(z^2)+c ?
cheesy

Errmmm - good luck on that grin
I guess something *may* be possible ? I don't really know enough math theory.
Logged

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

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #26 on: August 29, 2009, 08:24:50 PM »

Hi
I returned to Twenbee's calculation method, that is triginometric translations instead complex numbers. Look at results:

http://www.fractalforums.com/gallery/?sa=view;id=880
http://picasaweb.google.com/buddhi1980/Fraktale#5375450879366556658

Resolution: 1500x1500x1500
Multisampling: 2x
Maximum number of iterations: 256
Render time: approx. 20h
Logged

cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #27 on: August 30, 2009, 03:48:20 AM »

congratulations,  awesome object!  afro
Logged

---

divide and conquer - iterate and rule - chaos is No random!
bib
Global Moderator
Fractal Senior
******
Posts: 2070


At the borders...


100008697663777 @bib993
WWW
« Reply #28 on: August 30, 2009, 11:26:53 AM »

Very nice render!
Is the fog around the object part of the calculation or simply a buddhabrot background?
Logged

Between order and disorder reigns a delicious moment. (Paul Valéry)
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« Reply #29 on: August 30, 2009, 11:32:35 AM »

On the background there is Buddhabrot fractal. Mandelbrot 3D has also some fog around which transparency is depended on iteration count. For reflections (environment mapping) I used the same bitmap as for background.
Logged

Pages: 1 [2] 3   Go Down
  Print  
 
Jump to:  


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.383 seconds with 24 queries. (Pretty URLs adds 0.019s, 2q)