News: Check out the originating "3d Mandelbulb" thread here
 
*
Welcome, Guest. Please login or register. April 18, 2014, 10:59:37 PM


Login with username, password and session length



Pages: 1 ... 19 20 [21] 22 23 ... 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 262898 times)
0 Members and 1 Guest are viewing this topic.
bugman
Conqueror
*******
Posts: 122



WWW
« Reply #300 on: October 10, 2009, 06:28:00 AM »

There are lots of impressive renders in this thread.

Since I've been experimenting with MIIM (modified inverse iteration method) lately, I tried Paul's formulas for the roots of the quadratic triplex, to get the benefit of the extra detail. It didn't add much worthwhile. On the whole, I was disappointed with the various forms of the quadratic, and the higher powers look far more interesting.


Wow, Garth! I think your inverse Julia set is very impressive. Did you use Bounding Volume Hierarchies (BVH) to ray trace the image? How long did it take to render and what was the highest depth reached? It inspires me to investigate further. I think your MIIM greatly enhanced the image with some nice spirals. Do you have any recommendations where I can learn more about MIIM?

I also created some experiments with higher order inverse methods, but they were very sparse and boring because I wasn't using MIIM (see image below). I think adding MIIM to these images will be utterly stunning.


* Julia4-Inverse.jpg (45.78 KB, 280x280 - viewed 1006 times.)
« Last Edit: October 10, 2009, 06:59:00 AM by bugman » Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2188



Makin' Magic Fractals
WWW
« Reply #301 on: October 10, 2009, 12:56:04 PM »

I already deleted my code for the inverse triplex, and I'm not planning to revisit it unless I can do something with the trigonometric version instead. I just looked at the formula Dave provided, and noticed that phi=atan((z/sqrt(x▓+y▓)). It should be cheaper to use phi=asin(z/r).


Very nice image Garth.

With respect to the calculation, here's my actual UF code - I make use of UF's in-built atan2(value) where value is complex because I'm pretty sure this is faster than using atan(a/b) - note that mm and magn are initialised before entry into the iteration loop also that magno is used because I allow the option of using log(magn)/log(magno) for the divergence as an alternative to specifying a fixed value.

        magno = magn
        r = sqrt(magn)^@mpwr
        th = @mpwr*atan2(zri)
        ph = @mpwr*atan2(sqrt(mm)+flip(zj))
        zri = r*(cos(th)*cos(ph) + flip(sin(th)*cos(ph))) + cri
        zj = -r*sin(ph) + cj
        magn = (mm=|zri|) + sqr(zj)


« Last Edit: October 10, 2009, 11:14:52 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
xenodreambuie
Navigator
*****
Posts: 77



WWW
« Reply #302 on: October 10, 2009, 01:28:36 PM »

Thanks, Paul! No, I coded it into a transform in XenoDream, to use the existing rendering (using a zbuffer as a surface for lighting.) It was mostly done in an hour at twice that size, but I left it overnight for only marginal improvement. If you check the recent thread about the Glynn Set, Dave posted some code from Peter Liepa for doing MIIM. (His website http://www.brainjam.ca/fractals.html has plenty of pics.) It uses contractivity to vary tree depth, which works incredibly well, although still not perfectly even distribution.

However, I believe there is some mistake in the formula we used for the quadratic. I decided to try the trigonometric version instead, in order to use arbitrary powers. At first attempt only the theta was right (reducing to standard Julia set in XY). When I changed the formula to phi=acos(z/r), with x= rsin(theta)sin(phi), y=rcos(theta)sin(phi), z= rcos(phi), the correct roots appear for phi and the whole shape works as it should. That pic I did and the similar one of yours appear to be glitches and not reproducible with the correct formula. On the bright side, the quadratic produces a much nicer range of shapes and renders faster, and any power >1 or <-1 should work.
Logged

Regards, Garth
http://xenodream.com
David Makin
Global Moderator
Fractal Senior
******
Posts: 2188



Makin' Magic Fractals
WWW
« Reply #303 on: October 10, 2009, 10:56:32 PM »

Hi all, 6 images of the degree 2. Three of the White/Nylander (trig version) and three of the Rudy Rucker version:

http://www.fractalforums.com/gallery/?su=user;cat=95;u=141

Note that I had to fudge the code to render the inside Mandlebrots in the Rucker version correctly as the z (for the XY slice) and y (for the XZ slice) values kept gradually increasing due to error accumulation in the trig.
Edit: Actually the black speckling around the edges of the inside in the White/Nylander slices is probably the same problem.
« Last Edit: October 10, 2009, 11:40:36 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: 2188



Makin' Magic Fractals
WWW
« Reply #304 on: October 11, 2009, 02:00:20 AM »

Finally got a render of the degree 4 White/Nylander Mandelbrot underway at 8000*8000, rendered using a wide field of view.
Here's what the 800*800 version looks like rendered with the parameters set for the large render (i.e. the detail level is really too high for the 800*800 version):



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

The 800*800 version took just under 6 minutes on my core2duo laptop.

In case anyone's interested the colouring is psedo-3D pseudo-perlin noise (or fBm if you prefer) using the sum of 3 2D fBm results i.e. fBm(x+flip(y))+fBm(y+flip(z))+fBm(z+flip(x)).

Edit: larger version now here http://makinmagic.deviantart.com/art/Asteroid-National-Park-139905412

Edit: Click image twice for full-size !
« Last Edit: October 01, 2011, 06:33: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
xenodreambuie
Navigator
*****
Posts: 77



WWW
« Reply #305 on: October 11, 2009, 04:09:40 AM »

Dave, that looks promising. Of course with inverse methods I can only do Julias.

On the formulas, the main reason for preferring atan2 over atan in general is to get a result in the right quadrant, so by default I use atan2 in actual code. If you use phi=asin(z/r) instead of atan, you should be able to save a sqrt, which must be cheaper, and should give identical results.

However, I'm curious as to what happens if you change to the standard spherical coords of phi=acos(z/r), z=rcos(phi), and sin(phi) in the x and y terms. This definition works for the inverse method, whereas the other doesn't (at least without some clever manipulation.)
Logged

Regards, Garth
http://xenodream.com
David Makin
Global Moderator
Fractal Senior
******
Posts: 2188



Makin' Magic Fractals
WWW
« Reply #306 on: October 11, 2009, 02:13:31 PM »

Ok, here you are:

http://makinmagic.deviantart.com/art/Asteroid-National-Park-139905412

Hope you like it 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
David Makin
Global Moderator
Fractal Senior
******
Posts: 2188



Makin' Magic Fractals
WWW
« Reply #307 on: October 12, 2009, 12:18:23 AM »

Dave, that looks promising. Of course with inverse methods I can only do Julias.

On the formulas, the main reason for preferring atan2 over atan in general is to get a result in the right quadrant, so by default I use atan2 in actual code. If you use phi=asin(z/r) instead of atan, you should be able to save a sqrt, which must be cheaper, and should give identical results.

However, I'm curious as to what happens if you change to the standard spherical coords of phi=acos(z/r), z=rcos(phi), and sin(phi) in the x and y terms. This definition works for the inverse method, whereas the other doesn't (at least without some clever manipulation.)

Hi Garth, you are absolutely correct about the use of asin(z/r) instead of atan2(sqrt(x^2+y^2)+flip(z)) - it is identical and shaves just over 10% off the time on this P4HT by removing a square root from the iteration loop.

As to your other idea, it's certainly produces an interesting Mandelbrot:






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 #308 on: October 12, 2009, 10:47:27 PM »

Hi all, here's an animation of the Degree 7:

<a href="http://www.youtube.com/v/remIsv7OXy0&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/remIsv7OXy0&rel=1&fs=1&hd=1</a>

Edit: OK, now I'm getting really annoyed with YouTube again - the HQ is not showing for me in the above !!

To see the HQ version go here:

http://www.youtube.com/user/MakinMagicFractals

And again no HQ button - but wait - click on the image of the animation to the right and bingo - an HQ option !!
« Last Edit: October 13, 2009, 03:17:43 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: 2188



Makin' Magic Fractals
WWW
« Reply #309 on: October 13, 2009, 04:41:41 AM »

Hi, I think I found a new contender for the "true 3D" Mandelbrot.

In this case I was contemplating (not for the first time) what would actually constitute a truly second level of "imaginary" for the j axis.
Introduction of the i axis to the real number world depends on a new concept - the angle and rotation.
Most methods of 3D+ visualisation depend on this and distance alone but we need something "other" that can only exist when a third dimension exists.
I thought that maybe if we invent a function such that under multiplication by our third unit vector then both  r and i are transformed to j we have something new and whole - since the production of itself depends on multiplication by itself and cannot be explained using existing 2D concepts (distance/angle) - also extending the same idea to 4D+

I came up with this multiplication table:

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

Where * in the above is + or - (potentially different in each case).
Obviously this idea can be extended to any number of dimensions.

Anyway after playing with the options for the 3D version I settled on this:

   r   i   j
r  r   i   j
i  i  -r  -j
j  j  -j  -r

And here's the result for z^2+c:







Note that if we have zri (complex) and zj (real) then z^2+c is for example just:

          r = zj
          zj = 2.0*(real(zri)*zj - imag(zri)*zj) + cj
          zri = zri*zri - r*r + cri


OK - I know, it's not exactly fully symmetrical but at least the 2 slices are the 2D Mandelbrot - and who said it should be symmetrical ?
« Last Edit: October 13, 2009, 03:13:47 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
xenodreambuie
Navigator
*****
Posts: 77



WWW
« Reply #310 on: October 13, 2009, 06:21:46 AM »

As to your other idea, it's certainly produces an interesting Mandelbrot:

Thanks Dave! That helps a lot. I suspected the phi=acos(z/r) version would have an asymmetric Mandelbrot in Z, as the Z constant has asymmetric behaviour in the Julias. It's now obvious that phi=asin(z/r) was chosen to get symmetry in the Z axis. Both are valid choices with different goals.

Paul, I reimplemented your quadratic inverse formula and it's working correctly, so I take back any mention of glitches.  (This time I just zeroed any negative arguments that appeared in sqrt functions, whereas previously I switched roots when that happened. That's what was giving me wrong results when the z constant was nonzero.)

With phi=acos(z/r), the trig version has N independent roots in theta and phi for N*N total. For phi=asin(z/r), theta and phi don't have independent roots and I've given up trying to work out a solution. Anyone have any ideas? The quadratic Julia sets for each are quite different, and I'm rendering samples of each to post.
Logged

Regards, Garth
http://xenodream.com
xenodreambuie
Navigator
*****
Posts: 77



WWW
« Reply #311 on: October 13, 2009, 10:07:04 AM »

Here are six examples of quadratic Julia sets with a MIIM version of the Nylander/White formula for the triplex (z=rsin(phi) version.) They had 10-15 minutes rendering each at twice the size.

Logged

Regards, Garth
http://xenodream.com
David Makin
Global Moderator
Fractal Senior
******
Posts: 2188



Makin' Magic Fractals
WWW
« Reply #312 on: October 13, 2009, 12:11:34 PM »

Here are six examples of quadratic Julia sets with a MIIM version of the Nylander/White formula for the triplex (z=rsin(phi) version.) They had 10-15 minutes rendering each at twice the size.

Nice !!
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 #313 on: October 13, 2009, 07:45:42 PM »

Thanks, Paul! No, I coded it into a transform in XenoDream, to use the existing rendering (using a zbuffer as a surface for lighting.) It was mostly done in an hour at twice that size, but I left it overnight for only marginal improvement. If you check the recent thread about the Glynn Set, Dave posted some code from Peter Liepa for doing MIIM. (His website http://www.brainjam.ca/fractals.html has plenty of pics.) It uses contractivity to vary tree depth, which works incredibly well, although still not perfectly even distribution.

However, I believe there is some mistake in the formula we used for the quadratic. I decided to try the trigonometric version instead, in order to use arbitrary powers. At first attempt only the theta was right (reducing to standard Julia set in XY). When I changed the formula to phi=acos(z/r), with x= rsin(theta)sin(phi), y=rcos(theta)sin(phi), z= rcos(phi), the correct roots appear for phi and the whole shape works as it should. That pic I did and the similar one of yours appear to be glitches and not reproducible with the correct formula. On the bright side, the quadratic produces a much nicer range of shapes and renders faster, and any power >1 or <-1 should work.

All I found was this but it says nothing about MIIM:
http://www.fractalforums.com/programming/mathematical-formula-for-fractal-tree/
Logged
bugman
Conqueror
*******
Posts: 122



WWW
« Reply #314 on: October 13, 2009, 07:52:58 PM »

Anyway after playing with the options for the 3D version I settled on this:

   r   i   j
r  r   i   j
i  i  -r  -j
j  j  -j  -r


What is this table called and how do I find the squaring function from this table?
Logged
Pages: 1 ... 19 20 [21] 22 23 ... 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 16201 Last post December 08, 2011, 04:27:52 PM
by Alef
Re: True 3D mandelbrot type fractal Mandelbulb Software shanest 2 7762 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 47261 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 936 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.479 seconds with 30 queries. (Pretty URLs adds 0.049s, 2q)