TedWalther
Guest


« Reply #15 on: November 27, 2009, 03:04:26 AM » 

Thanks again, Mike. I think the first (mistaken) quaternion looks a lot better than the second (correct) quaternion. Observing the differences between the different pseudoquaternion formulas, it looks like they only differ in the signedness of the terms. Since there are ten terms, there are 1024 different possibilities.
It would be interesting to iterate through all 1024 possibilities and see how they differ. One could just iterate from 0 to 1023 and treat the index as a bitmap, with 0 representing + and 1 representing 
Mike, what software are you using? Does it run on Linux? Are you generating voxels or following a ray outwards from the screen? I'd like to start rendering flyarounds of each object.
Ted


« Last Edit: November 27, 2009, 03:10:46 AM by TedWalther »

Logged




TedWalther
Guest


« Reply #16 on: November 27, 2009, 03:16:09 AM » 

Ted,
Here's your first one in 2nd order. The 8th order looks like a typical 8thorder Mandelbulb. There's something about those Higher Powers...
That is beautiful. Reminds me and a coworker of the female uterus lying on its side. Should we call it the Valentine's Mandelbulb? How does 3rd order look? I was expecting that order2 might not be the best, just because order2 worked for a 2 dimensional thing, and we are operating in 3d now. Ted



Logged




dougfractal
Guest


« Reply #17 on: November 27, 2009, 03:26:58 AM » 

I've just published my code http://code.google.com/p/fractaldimension/The java code includes 4D and 5D functions but here is my original 3D algorithm i.j = j j.i = i public int iterate3D(double rec,double imc, double jmc,int max) { double re,im,re2,im2,jm,jm2,ij,tmp; int itr=0; double mag=.0; im=re=jm=re2=im2=jm2=.0; do { ij=im*jm; tmp=re2im2jm2+rec; im=2.0f*im*reij+imc; jm=2.0f*jm*re+ij+jmc; re=tmp; re2=re*re; im2=im*im; jm2=jm*jm; itr++; if (itr>max) break; mag=re2+im2+jm2; } while (4.0f>mag ); return itr; }



Logged




TedWalther
Guest


« Reply #18 on: November 27, 2009, 08:24:05 AM » 

Thank you for the code, Doug. Can you tell us a but more about how you derived that code? Any particular theory or reasoning behind how you decided on the particular relationship of j and i?



Logged




dougfractal
Guest


« Reply #19 on: November 27, 2009, 06:33:36 PM » 

http://www.fractaldimension.org.uk/voldsitemirror/Different Complex NumbersWith the understanding that [imaginary number i] can be represented by rotation of 90° about the origin. I defined [imaginary number j] as a rotation of 90° about the origin and a rotation of 90° with respect to . So with this in mind I picked up a cube, to help me visualise the rotations, and then recorded the results.
I rotated it upwards 90° , then following it by turning it a different 90° backwards [j], I defined the result:
i × j = j
Then starting again
I rotated 90° backwards [j], followed by 90° upwards . This gave me the result:
j × i = i
It is the use of these results when applied into the [Mandelbrot algorithm], that produce the [Bristor set]. Imaginary numbers in additional dimensions can be derived by substituting in the new number in the above equations.



Logged




TedWalther
Guest


« Reply #20 on: November 27, 2009, 07:43:57 PM » 

Animation, 15 frames per second. The value of n in Z ^{n} starts at 0.11 and goes up to 9.00 in increments of 0.01. Thanks to Mike for the code to calculate and render the images that went into this video.


« Last Edit: November 27, 2009, 08:02:42 PM by TedWalther, Reason: giving credit to Mike »

Logged




JosLeys


« Reply #21 on: November 27, 2009, 08:09:47 PM » 

Here is a picture of a degree 8 Bristorbrot



Logged




JosLeys


« Reply #22 on: November 27, 2009, 10:09:12 PM » 

As far as I know, Doug Bristor's formula is the only one I've seen whereby a slice in both the xy and xz plane produces the familiar 2D Mandelbrot. It produces some interesting Julia's as well.This one is degree 3 :



Logged





JosLeys


« Reply #24 on: November 27, 2009, 10:48:46 PM » 

OK David, sorry..
In one of your posts you propose
r i j r r i j i i r j j j j r
whereas Doug is using
r i j r r i j i i r j j j i r (notice the 'i' in the last row)



Logged




David Makin


« Reply #25 on: November 27, 2009, 11:42:06 PM » 

OK David, sorry..
In one of your posts you propose
r i j r r i j i i r j j j j r
whereas Doug is using
r i j r r i j i i r j j j i r (notice the 'i' in the last row)
I ignored noncommutative forms simply because I'm averse to them (more than I'm averse to say more than one number without an inverse). Also I was trying for something that broke the "ring" rule but still worked in both crosssections Plus I was rather pleased with this idea: "i.e. here *i is a function that maps r to i (one dimension to another), *j is a function that maps r and i to j (two dimensions to a third), *k is a function that maps r, i and j to k (thrree dimensions to a fourth) etc." I found that using commutative j for i*j worked best IMO for the 3D case, of course if you want the higher dimensions to collapse correctly when one imaginary dimension is removed then the corresponding 4D should look like this: r i j k r r i j k i i r j k j j j r k k k k k r


« Last Edit: November 28, 2009, 12:13:04 AM by David Makin »

Logged




dougfractal
Guest


« Reply #26 on: November 28, 2009, 03:17:45 AM » 




Logged




dougfractal
Guest


« Reply #27 on: November 28, 2009, 04:36:37 AM » 

As far as I know, Doug Bristor's formula is the only one I've seen whereby a slice in both the xy and xz plane produces the familiar 2D Mandelbrot. Also the Bristorbrot is symmetrical along the ij plane creating the 2 opposite pairs. This symmetry is persevered on higher dimensional views.



Logged




JosLeys


« Reply #28 on: November 28, 2009, 01:09:52 PM » 

Dave said: I ignored noncommutative forms simply because I'm averse to them Just this: we are playing with rotations of a point on a sphere, and those rotations are noncommutative by nature.. Just to clarify for those who doubt: Rotate the point <1,0,0> around the (vertical) yaxis 90° gives you <0,0,1>, then rotate 90° around the xaxis and you get <0,1,0> If we rotate first around the xaxis, the point does not move, and the subsequent rotation about the yaxis gets us <0,0,1>. Different order, different result.



Logged




David Makin


« Reply #29 on: November 28, 2009, 01:33:14 PM » 

Dave said: I ignored noncommutative forms simply because I'm averse to them Just this: we are playing with rotations of a point on a sphere, and those rotations are noncommutative by nature.. Just to clarify for those who doubt: Rotate the point <1,0,0> around the (vertical) yaxis 90° gives you <0,0,1>, then rotate 90° around the xaxis and you get <0,1,0> If we rotate first around the xaxis, the point does not move, and the subsequent rotation about the yaxis gets us <0,0,1>. Different order, different result. I know, I just like things to be commutative My latest attempt is not commutative though: http://www.fractalforums.com/3dfractalgeneration/truerertrue3dmandelbrotfractal(searchfortheholygrailcontinues)/msg9235/#msg9235Edit: Aargh, I was mistaking commutivaty of the function with commutivaty of the rotations performed  obviously the rotations are not commutative but if the "multiply" function takes a similar form to that for the Mandelbulb then it is commutative


« Last Edit: November 28, 2009, 10:45:42 PM by David Makin »

Logged




