David Makin
|
 |
« Reply #315 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  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
|
|
|
|
David Makin
|
 |
« Reply #316 on: October 13, 2009, 09:25:41 PM » |
|
|
|
|
Logged
|
|
|
|
David Makin
|
 |
« Reply #317 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.movI 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
|
|
|
|
xenodreambuie
|
 |
« Reply #318 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
|
|
|
|
cKleinhuis
|
 |
« Reply #319 on: October 14, 2009, 02:34:42 PM » |
|
hey xenodream, the lower left looks like a brain, and the upper ones are just cool ! 
|
|
|
Logged
|
---
divide and conquer - iterate and rule - chaos is No random!
|
|
|
Buddhi
|
 |
« Reply #320 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
http://www.youtube.com/v/YVkCoDo6MW8&rel=1&fs=1&hd=1
|
|
|
Logged
|
|
|
|
bugman
|
 |
« Reply #321 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  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
|
 |
« Reply #322 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 
|
|
|
Logged
|
|
|
|
twinbee
|
 |
« Reply #323 on: October 15, 2009, 01:04:49 AM » |
|
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).
http://www.youtube.com/v/vqkPjpU6bsA&rel=1&fs=1&hd=1
|
|
« Last Edit: October 15, 2009, 01:13:43 AM by twinbee »
|
Logged
|
|
|
|
bugman
|
 |
« Reply #324 on: October 15, 2009, 03:40:48 AM » |
|
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.
That's great! You might also want to try the old formula. It produces some interesting-looking results: http://www.bugman123.com/Hypercomplex/Nebulabrot0111.jpg
|
|
|
Logged
|
|
|
|
David Makin
|
 |
« Reply #325 on: October 15, 2009, 03:55:27 AM » |
|
Zooms of two Julias from the new contender for a true 3D Mandelbrot that I posted here: http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg8231/#msg8231They were rendered as here at 640*480 and 640*640 and took 14 mins and 12 mins respectively. In both cases you can see a problem with my algorithm - the speckles are due to some points never reaching the iteration density required to be called "solid" - both these Julias almost disappear at 150 iterations or so. 
|
|
|
Logged
|
|
|
|
twinbee
|
 |
« Reply #326 on: October 15, 2009, 07:35:28 AM » |
|
xenodreambuie, can you render larger versions of those objects?
|
|
|
Logged
|
|
|
|
bugman
|
 |
« Reply #327 on: October 15, 2009, 07:43:22 AM » |
|
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.
This is amazing Twinbee! I doubt anyone has ever made a fractal animation quite like this one! 
|
|
« Last Edit: October 15, 2009, 07:48:18 AM by bugman »
|
Logged
|
|
|
|
twinbee
|
 |
« Reply #328 on: October 15, 2009, 09:18:12 AM » |
|
Cheers, though it would look 100x better if it used proper perspective camera zooming (which I'll hopefully be sorting out soon). At the mo, it's like zooming into a 2D photograph, which is weird considering the object is 3D heh. It'd be nice to see an anim going through the thin corridor near the beginning of the vid (ala Star Wars). Anyone up for rendering that? 
|
|
|
Logged
|
|
|
|
xenodreambuie
|
 |
« Reply #329 on: October 15, 2009, 10:01:07 AM » |
|
Twinbee, that is a cool animation. Here is my favourite cosine triplex variant; like a quaternion but more Gothic. This one went overnight to get reasonably clean. Inverse iteration struggles with some settings, even with MIIM. Forward iteration should produce quicker and nicer images in many cases, if not all. 
|
|
|
Logged
|
|
|
|
|