Hi Morgan, At 19:54 14/01/03 +1300, you wrote:
Guess I should have seen it coming...
me too.. super formulas! super pic's! lot's of stuff to play around.. wouwww!!
Morgan L. Owens "Now, to the theatre."
here's something for 3D freaks.. run the pic, enter the evolver, leave all values on default except these: Param 1 real=no Param 1 imag=no Param 2 real=no Param 2 imag=x+y (or x-y or x) image grid size=5 for parallel eyed viewing: x parameter range=4 x parameter offset=-2 for crossed eyes viewing: x parameter range=-4 x parameter offset=2 if the 3D effects are too strong, press F2 to halve the mutation levels.. ************* evolve3d { ; Version 2002 Patchlevel 3 reset=2002 type=formula formulafile=fractint.frm formulaname=threecircles2 center-mag=-1/0/0.33/1/-90/0 params=0.4/0/-2.5/0 float=y maxiter=200 inside=atan outside=atan periodicity=0 colors=000000<57>taJubJvbK<2>ydLzeLydL<55>642531421<2>100000001<56>Q_tQ`\ uR`v<2>SbyTczSby<61>000 } ; and the formula again (I don't know the author of it; maybe from Morgan L. Owens) frm:threecircles2 { centre1=1 centre2=exp(flip(2*pi/3)) centre3=sqr(centre2) rho=real(p1) direction=pixel-p2 z = pixel trapped=(|z-centre1|<sqr(rho) || |z-centre2|<sqr(rho) || |z-centre3|<sqr(rho)) : if(trapped) escaped=0 else escaped=1 hit=9999 coefA = |direction| coefB = real(z-centre1)*real(direction)+imag(z-centre1)*imag(direction) coefC = |z-centre1|-sqr(rho) discriminant=coefB*coefB-coefA*coefC if(discriminant>0) ; Two solutions t1=(-coefB-sqrt(discriminant))/coefA t2=(-coefB+sqrt(discriminant))/coefA if(t1>0) escaped=0 hit=t1 target=1 endif if(t2>0 && t2<t1) escaped=0 hit=t2 target=1 endif endif coefB = real(z-centre2)*real(direction)+imag(z-centre2)*imag(direction) coefC = |z-centre2|-sqr(rho) discriminant=coefB*coefB-coefA*coefC if(discriminant>0) t1=(-coefB-sqrt(discriminant))/coefA t2=(-coefB+sqrt(discriminant))/coefA if(t1>0 && t1<hit) escaped=0 hit=t1 target=2 endif if(t2>0 && t2<t1 && t2<hit) escaped=0 hit=t2 target=2 endif endif coefB = real(z-centre3)*real(direction)+imag(z-centre3)*imag(direction) coefC = |z-centre3|-sqr(rho) discriminant=coefB*coefB-coefA*coefC if(discriminant>0) t1=(-coefB-sqrt(discriminant))/coefA t2=(-coefB+sqrt(discriminant))/coefA if(t1>0 && t1<hit) escaped=0 hit=t1 target=3 endif if(t2>0 && t2<t1 && t2<hit) escaped=0 hit=t2 target=3 endif endif if(target==1) un=(z-centre1)/cabs(z-centre1) elseif(target==2) un=(z-centre2)/cabs(z-centre2) else un=(z-centre3)/cabs(z-centre3) endif r=direction-2*(real(direction)*real(un)+imag(direction)*imag(un))*un z=z+direction*hit direction=r endif escaped==0 } *********** have fun, Guy