News: Did you know ? you can use LaTex inside Postings on fractalforums.com!
 
*
Welcome, Guest. Please login or register. September 02, 2014, 07:30:23 PM


Login with username, password and session length



Pages: 1 ... 17 18 [19] 20 21 ... 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 274584 times)
0 Members and 1 Guest are viewing this topic.
David Makin
Global Moderator
Fractal Senior
******
Posts: 2267



Makin' Magic Fractals
WWW
« Reply #270 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
Safarist
******
Posts: 80



WWW
« Reply #271 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
Safarist
******
Posts: 80



WWW
« Reply #272 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: 2267



Makin' Magic Fractals
WWW
« Reply #273 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 #274 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 #275 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
David Makin
Global Moderator
Fractal Senior
******
Posts: 2267



Makin' Magic Fractals
WWW
« Reply #276 on: October 13, 2009, 09:20:14 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?


It's just one possible 3D unit vector multiplication table smiley

i.e. in this case the multiplications are commutative and:

real*real -> real, real*imag -> imag, imag*imag -> -real, real*jmag -> jmag, imag*jmag -> -jmag and jmag*jmag -> -real.

For the squaring function we want:

    (x + i*y + j*z)^2
    = x^2 + i*x*y + j*x*z + i*x*y + i*i*y*y + i*j*y*z + j*x*z + i*j*y*z + j*j*z*z
    = x^2 - y^2 - z^2 + i*2*x*y + j*2*(x*z - y*z) (because i*i=j*j=-r, r*j=j and i*j=-j)
  
« Last Edit: October 13, 2009, 09:26:08 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: 2267



Makin' Magic Fractals
WWW
« Reply #277 on: October 13, 2009, 09:25:41 PM »


Hi Paul -- http://www.fractalforums.com/mandelbrot-and-julia-set/glynn-julia-set/msg8002/#msg8002
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: 2267



Makin' Magic Fractals
WWW
« Reply #278 on: October 14, 2009, 01:03:35 AM »

Here's an animation of the minibrot from my "new contender" centred at approx. -1.76 real (for the degree 2).
You'll have to wait a little for it to download as it doesn't stream:

http://www.fractalgallery.co.uk/NewContenderMinibrotAnim.mov

I have to admit IMHO I think this is the closest so far - especially after I started investigating doing a render of the same minibrot for the degree 2 White/Nylander - I gave up on that for now, you'll see why when I upload a detailed still of it later....

Edit: Here's the still-shot, it's a very slow one to render hence I gave up on doing even a small anim !


« Last Edit: October 14, 2009, 02:29:57 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
Safarist
******
Posts: 80



WWW
« Reply #279 on: October 14, 2009, 12:14:37 PM »

Here are eight examples of quadratic Julia sets with a MIIM version of the variation for the triplex with z=r*cos(phi). They don't have the 2D Julia structure at the equator that the other formula has. I really like some of these structures.

Logged

Regards, Garth
http://xenodream.com
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 5527


formerly known as 'Trifox'


WWW
« Reply #280 on: October 14, 2009, 02:34:42 PM »

hey xenodream, the lower left looks like a brain, and the upper ones are just cool !  police
Logged

---

divide and conquer - iterate and rule - chaos is No random!
Buddhi
Fractal Molossus
**
Posts: 651



WWW
« Reply #281 on: October 14, 2009, 07:17:27 PM »

I have just rendered animation with flying around 3D Nebulabrot fractal (Twinbee formula).
For faster rendering I cached all iteration data on HD. It takes about 20GB space :-) and I used 4 threads for rendering and 1 for loading data from HD in background. The bottleneck was drive speed (90MB/s) however it was much more faster than rendering without cached data.

Rendering statistics:
- frames resolution: 1280x720
- 3D mesh resolution: 800x800x800
- max number of iterations: 500
- number of points per frame: 5 356 802 016
- avg. rendering speed: 22,3 mln points per second (1 frame per 4 minutes)

Please watch in HD
<a href="http://www.youtube.com/v/YVkCoDo6MW8&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/YVkCoDo6MW8&rel=1&fs=1&hd=1</a>
 
Logged

bugman
Conqueror
*******
Posts: 122



WWW
« Reply #282 on: October 14, 2009, 07:58:17 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?


It's just one possible 3D unit vector multiplication table smiley

i.e. in this case the multiplications are commutative and:

real*real -> real, real*imag -> imag, imag*imag -> -real, real*jmag -> jmag, imag*jmag -> -jmag and jmag*jmag -> -real.

For the squaring function we want:

    (x + i*y + j*z)^2
    = x^2 + i*x*y + j*x*z + i*x*y + i*i*y*y + i*j*y*z + j*x*z + i*j*y*z + j*j*z*z
    = x^2 - y^2 - z^2 + i*2*x*y + j*2*(x*z - y*z) (because i*i=j*j=-r, r*j=j and i*j=-j)
  


Thanks Dave. Here's some Mathematica code to find the squaring formula for any multiplication table that uses your notation:
ToFormula[A0_] := Module[{A = A0 /. {r -> 1, i -> 2, j -> 3}, p0 = {x, y, z}, p = {0, 0, 0}}, Do[k = A[[i, j]]; p[[Abs[k]]] += Sign[k]p0 [[ i ]] p0[[j]], {i, 1, 3}, {j, 1, 3}]; p];

For example:
ToFormula[{{r, i, j}, {i, -r, -j}, {j, -j, -r}}]

returns
{x^2 - y^2 - z^2, 2 x y, 2 x z - 2 y z}
« Last Edit: October 14, 2009, 08:24:07 PM by bugman » Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2267



Makin' Magic Fractals
WWW
« Reply #283 on: October 14, 2009, 08:54:24 PM »


Thanks Dave. Here's some Mathematica code to find the squaring formula for any multiplication table that uses your notation:
ToFormula[A0_] := Module[{A = A0 /. {r -> 1, i -> 2, j -> 3}, p0 = {x, y, z}, p = {0, 0, 0}}, Do[k = A[[i, j]]; p[[Abs[k]]] += Sign[k]p0 [[ i ]] p0[[j]], {i, 1, 3}, {j, 1, 3}]; p];

For example:
ToFormula[{{r, i, j}, {i, -r, -j}, {j, -j, -r}}]

returns
{x^2 - y^2 - z^2, 2 x y, 2 x z - 2 y z}

The only way I could get my hands on Mathematica is if I decide to take a course i.e. become a bona-fide student 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
twinbee
Fractal Fertilizer
*****
Posts: 383



WWW
« Reply #284 on: October 15, 2009, 01:04:49 AM »

Quote
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.

Interestingly, compared to the asin, the MSVC compiler seems to have a really fast implementation of atan2 (relative to the mingw compiler at least), so especially if you're using C/C++, it may be worth checking out both according to setup.

Some really neat stuff above! I'm getting an article together to further explore the object, but I can't resist sharing one of my own zooms now. I've cut the 3D mandelbrot in half, and then I zoom into one the thin valley sections. Youtube decreases the quality, so the video can also be found here at a super-fluid 60 frames per second (6 meg).

<a href="http://www.youtube.com/v/vqkPjpU6bsA&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/vqkPjpU6bsA&rel=1&fs=1&hd=1</a>
« Last Edit: October 15, 2009, 01:13:43 AM by twinbee » Logged
Pages: 1 ... 17 18 [19] 20 21 ... 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 17090 Last post December 08, 2011, 04:27:52 PM
by Alef
Re: True 3D mandelbrot type fractal Mandelbulb Software shanest 2 8069 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 47590 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 1699 Last post October 21, 2010, 07:14:00 AM
by M Benesi
True 3D Mandelbrot ? Programming « 1 2 3 4 5 » David Makin 72 2170 Last post September 01, 2014, 04:36:32 PM
by Kalles Fraktaler

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.544 seconds with 30 queries. (Pretty URLs adds 0.032s, 2q)