At 11:55 22/05/2002, Gerald K. Dobiasovsky wrote:
P.S. So here ("Who needs POV-Ray?") are the respective Fractint- formulas:
I think I'm outclassed. I mean, here's me still tinkering in two dimensions... Next thing to do would be to parameterise things a bit... I've touched up mine a bit, and added a few more. This time I've even chucked in a coupla pars. Morgan L. Owens "I need some thoughts that are new." trilattice { ; Something I'm not likely to see this winter. ; Version 2001 Patchlevel 8 reset=2001 type=formula formulafile=klein.frm formulaname=Klein_tri_lattice passes=1 center-mag=0/0/0.6666667 float=y maxiter=1023 inside=255 outside=tdis periodicity=0 colors=000ccc<3>nnnqqqtttwwwzzz<4>IIz99z00z<9>bbOffKjjG<3>zz0<9>zO0zK0zG\ 0<3>z00<9>O0bK0fG0j<3>00z<9>0bO0fK0jG<3>0z0<9>bObfKfjGj<3>z0z<9>`0`Y0YV0\ V<2>N0NK0KJ1L<8>8Ia7Kc5Me<2>2Sk0Um0Vm<8>0em0fm0hm<2>0km0mm0mm<8>0gu0gu0f\ v<3>0cz<9>bqzfrzjtz<3>zzz<25>zhCzgAzf8<2>zd2zc0zd0<8>zq0zr0zt0<3>zz0<9>z\ O0zK0zG0<3>z00<14>ZZZ } trilattice2 { ; Version 2001 Patchlevel 8 reset=2001 type=formula formulafile=klein.frm formulaname=Klein_tri_lattice passes=d center-mag=0/0/0.6666667 float=y maxiter=1023 inside=255 outside=atan periodicity=0 colors=@altern.map } trilattice3 { ; Superdoily ; Version 2001 Patchlevel 8 reset=2001 type=formula formulafile=klein.frm formulaname=Klein_tri_lattice center-mag=0/0/0.6666667 float=y maxiter=5 inside=zmag outside=0 periodicity=0 colors=@altern.map } trilattice4 { ; Uniqueness ; Version 2001 Patchlevel 8 reset=2001 type=formula formulafile=klein.frm formulaname=Klein_tri_lattice passes=t center-mag=-15.9676/10.6848/0.07415467 float=y maxiter=1023 inside=255 invert=0.5/0/0 periodicity=0 colors=@default.map } frm:3Klein_Group(XAXIS){ ang=2*pi/3 c1=exp((0,0)*ang) c2=exp((0,1)*ang) c3=exp((0,2)*ang) r=sqrt(3)/2 rr=r*r z=pixel: inside=0 if(|z-c1|<rr) z=r*conj(r/(z-c1))+c1 inside=1 elseif(|z-c2|<rr) z=r*conj(r/(z-c2))+c2 inside=1 elseif(|z-c3|<rr) z=r*conj(r/(z-c3))+c3 inside=1 endif inside} frm:6Klein_Group(XYAXIS){ ang=pi/3 c1=2*exp((0,0)*ang) c2=2*exp((0,1)*ang) c3=2*exp((0,2)*ang) c4=2*exp((0,3)*ang) c5=2*exp((0,4)*ang) c6=2*exp((0,5)*ang) z=pixel: inside=0 IF(|z-c1|<1) z=conj(1/(z-c1))+c1 inside=1 ELSEIF(|z-c2|<1) z=conj(1/(z-c2))+c2 inside=1 ELSEIF(|z-c3|<1) z=conj(1/(z-c3))+c3 inside=1 ELSEIF(|z-c4|<1) z=conj(1/(z-c4))+c4 inside=1 ELSEIF(|z-c5|<1) z=conj(1/(z-c5))+c5 inside=1 ELSEIF(|z-c6|<1) z=conj(1/(z-c6))+c6 inside=1 ENDIF inside} frm:7Klein_Group(XYAXIS){ ang=pi/3 c1=0 c2=1 c3=exp((0,1)*ang) c4=exp((0,2)*ang) c5=exp((0,3)*ang) c6=exp((0,4)*ang) c7=exp((0,5)*ang) r=1/2 rr=r*r z=pixel: inside=0 if(|z-c1|<rr) z=r*conj(r/(z-c1))+c1 inside=1 elseif(|z-c2|<rr) z=r*conj(r/(z-c2))+c2 inside=1 elseif(|z-c3|<rr) z=r*conj(r/(z-c3))+c3 inside=1 elseif(|z-c4|<rr) z=r*conj(r/(z-c4))+c4 inside=1 elseif(|z-c5|<rr) z=r*conj(r/(z-c5))+c5 inside=1 elseif(|z-c6|<rr) z=r*conj(r/(z-c6))+c6 inside=1 elseif(|z-c7|<rr) z=r*conj(r/(z-c7))+c7 inside=1 endif inside} frm:Klein_squ_lattice(XYAXIS){ r=1/2 rr=r*r z=pixel: inside=0 c=round(z) if(|z-c|<rr) z=r*conj(r/(z-c))+c inside=1 endif inside} frm:Klein_tri_lattice(XYAXIS){ ang=pi/3 r=1/2 rr=r*r z=pixel t1=sin(ang) t2=tan(ang) t3=exp(flip(ang)) : inside=0 m = round(imag(z)/t1) n = round(real(z)-imag(z)/t2) c0=n+m*t3 c1=n+(m-1)*t3 c2=n+(m+1)*t3 c3=(n-1)+m*t3 c4=(n+1)+m*t3 if(|z-c0|<rr) z=r*conj(r/(z-c0))+c0 inside=1 elseif(|z-c1|<rr) z=r*conj(r/(z-c1))+c1 inside=1 elseif(|z-c2|<rr) z=r*conj(r/(z-c2))+c2 inside=1 elseif(|z-c3|<rr) z=r*conj(r/(z-c3))+c3 inside=1 elseif(|z-c4|<rr) z=r*conj(r/(z-c4))+c4 inside=1 endif inside}