Re: [Fractint] Mandelbrot and Julia Sets Explored by RareEvent Theory
From: "Morgan L. Owens" <packrat@nznet.gen.nz> Reply-To: fractint@mailman.xmission.com To: fractint@mailman.xmission.com Subject: Re: [Fractint] Mandelbrot and Julia Sets Explored by RareEvent Theory Date: Fri, 31 Jan 2003 21:11:05 +1300
The broadest generalisation (while still keeping within the gambit of quadratic maps) would be
Quadraticmap{ bailout=1000000 z=pixel: x=real(z) y=imag(z) nx=ca+(cb+cc*x+cd*y)*x+(ce+cf*y)*y ny=cg+(ch+ci*x+cj*y)*x+(ck+cl*y)*y z=nx+flip(ny) |z|<bailout }
Right on thats not the way I mean to go with it, but its nicely done. Hearkening to the adage that one good formula deserves another, I present you with D3e { x=real(pixel), y=imag(pixel), v=p1 x1=x2=y1=y2=v1=v2=0: a1=x1^2+x2^2+y1^2+v2^2+2*y1*v1 a2=2*x1*x2+y1*y2+v1*v2+y2*v1+v2*y1 b1=v1^2+2*x1*y1+x2*y2+y2*v2+v2*x2 b2=2*x1*y2+y1*v2+v1*x2+x2*y1+v2*v1 c1=y1^2+2*x1*v1+x2*v2+y2*x2+v2*y2 c2=2*x1*v2+y1*x2+v1*y2+x2*v1+y2*y1 x1=a1+x, x2=a2-x, y1=b1+y, y2=b2-y, v1=c1+v, v2=c2-v z=sqrt((a1-a2)^2+(b1-b2)^2+(c1-c2)^2) z < 8 } The e means that its of the extended formula family; this is a template by which all of a groups elements are incorporated in the frm. This version of D3 shows it to be related to the Klein four-group fractal (K4e, below). Both are easily changed to Msets by y=imag(pixel)*(0,1). K4e { x=real(pixel), y=imag(pixel), x1=x2=y1=y2=0: a1=x1^2+x2^2+y1^2+y2^2 a2=2*x1*x2+2*y1*y2 b1=2*x1*y1+2*x2*y2 b2=2*x1*y2+2*x2*y1 x1=a1+x, x2=a2-x, y1=b1+y, y2=b2-y z=sqrt((a1-a2)^2+(b1-b2)^2) z < 8 } The order 4 dihedral group fractal (D4e below) also shares some of these characteristics when viewed from other axial perspectives. Since C4 is a subset of D4, the complex plane is in this 4-space, and the view in X,Y is of an Mset. D4e { x=real(pixel),y=imag(pixel),v=p1,w=p2 x1=x2=y1=y2=v1=v2=w1=w2=0: a1=x1^2+x2^2+v1^2+w1^2+v2^2+w2^2+2*y1*y2 a2=y1^2+y2^2+2*x1*x2+2*v1*v2+2*w1*w2 b1=2*x1*y1+2*x2*y2+v1*w1+w1*v2+v2*w2+w2*v1 b2=2*x1*y2+2*x2*y1+v1*w2+w1*v1+v2*w1+w2*v2 c1=2*x1*v1+2*x2*v2+y1*w1+y2*w2+w1*y2+w2*y1 c2=2*x1*v2+2*x2*v1+y1*w2+y2*w1+w1*y1+w2*y2 d1=2*x1*w1+2*x2*w2+y1*v2+y2*v1+v1*y1+v2*y2 d2=2*x1*w2+2*x2*w1+y1*v1+y2*v2+v1*y2+v2*y1 x1=a1+x,x2=a2-x,y1=b1+y,y2=b2-y, v1=c1+v,v2=c2-v,w1=d1+w,w2=d2-w z=sqrt((a1-a2)^2+(b1-b2)^2+(c1-c2)^2+(d1-d2)^2) z < 16 } This seems to be an easy way to fit any of the smaller groups into fractal formulae, and it will be interesting to see where it leads _________________________________________________________________ Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail
Russ Walsmith wrote:
D4e { x=real(pixel),y=imag(pixel),v=p1,w=p2 x1=x2=y1=y2=v1=v2=w1=w2=0: a1=x1^2+x2^2+v1^2+w1^2+v2^2+w2^2+2*y1*y2 a2=y1^2+y2^2+2*x1*x2+2*v1*v2+2*w1*w2 b1=2*x1*y1+2*x2*y2+v1*w1+w1*v2+v2*w2+w2*v1 b2=2*x1*y2+2*x2*y1+v1*w2+w1*v1+v2*w1+w2*v2 c1=2*x1*v1+2*x2*v2+y1*w1+y2*w2+w1*y2+w2*y1 c2=2*x1*v2+2*x2*v1+y1*w2+y2*w1+w1*y1+w2*y2 d1=2*x1*w1+2*x2*w2+y1*v2+y2*v1+v1*y1+v2*y2 d2=2*x1*w2+2*x2*w1+y1*v1+y2*v2+v1*y2+v2*y1 x1=a1+x,x2=a2-x,y1=b1+y,y2=b2-y, v1=c1+v,v2=c2-v,w1=d1+w,w2=d2-w z=sqrt((a1-a2)^2+(b1-b2)^2+(c1-c2)^2+(d1-d2)^2) z < 16 }
This seems to be an easy way to fit any of the smaller groups into fractal formulae, and it will be interesting to see where it leads…
I had originally made a complete collection of groups up to order 8 (Z1 (for the sake of completeness), Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z2+Z2 (complex numbers), Z4+Z2 (hypercomplex numbers), Z2+Z2+Z2, D3, D4, and Q4 (quaternions). I was of half a mind to do Z9, ... Z15, Z3+Z3, Z6+Z2, D5, D6, D7, A4, and Q6 as well, making the enumeration complete up to order 15, but three things intervened: [1] too lazy to do by hand and too lazy to write code to do it (a matter of prioritising) [2] A shortage of parameters (contributes to excuse [1] - why write it if it won't work anyway?) [3] Needed some unified approach to specifying rotations ([2] gets in the way of this, of course) The last feature was crucial in my opinion. There seemed little point to me in going on about the thing being 8-dimensional if one couldn't cut said 8-dimensional object with an arbitrary 2-dimensional plane for rendering. What would be a reasonable way of specifying such a thing to make navigation convenient? I was thinking something involving hyperspherical coordinates to establish an orientation, and then offsetting it from the origin. The tricky bit is to minimise the number of user parameters - basically, it makes sense to define the system so that the normal viewport translations/rotations are part of it, 'cos then we don't need to specify them in the user parameters. Morgan L. Owens "BFG numbers"
participants (2)
-
Morgan L. Owens -
Russ Walsmith