More from fractint orgform database:
Alt3Klein_Group { ; Gerald K. Dobiasovsky <gerald.******@*****.at>
; Tue, 28 May 2002 03:08:36 (ver. 2)
; Sat, 25 May 2002 08:00:52 (ver. 1)
; Modification of "3Klein_Group" by Morgan L. Owens
; Centers of circles 1 and 2 are situated on the x-axis,
; both circles with distance d to the y-axis.
; Circle 3 touches both 1 and 2.
; periodicity=no
;--------------
;p1r: radius 1
;p1i: radius 2
;p2r: radius 3
;p2i: distance d ( <= radius 3 )
;-----------------------------------------------
r1 = real(p1)
r2 = imag(p1)
r3 = real(p2)
c1 = r1 + imag(p2) ;wrong sign will be compensated for in the loop
c2 = r2 + imag(p2)
c3 = r3 - imag(p2)
c3 = ((c1-c2)*c3+flip(sqrt((c1+c2+c3)*c1*c2*c3)*2))/(c1+c2)
rr1 = sqr(r1)
rr2 = sqr(r2)
rr3 = sqr(r3)
z = pixel:
inside = 0
IF (|z+c1| < rr1)
z = r1*conj(r1/(z+c1)) - c1
inside = 1
ELSEIF (|z-c2| < rr2)
z = r2*conj(r2/(z-c2)) + c2
inside = 1
ELSEIF (|z-c3| < rr3)
z = r3*conj(r3/(z-c3)) + c3
inside = 1
ENDIF
inside
}
-------------------------------------------------------------------------
Alt4Klein_Group { ; Gerald K. Dobiasovsky <gerald.******@*****.at>
; Tue, 28 May 2002 03:08:36 (ver. 2)
; Sat, 25 May 2002 08:00:52 (ver. 1)
; Modification of "4Klein_Group" by Morgan L. Owens
; Centers of circles 1 and 2 are situated on the x-axis,
; both circles with distance d to the y-axis.
; Circles 3 and 4 both touch 1 and 2.
; periodicity=no
;--------------
;p1r: radius 1
;p1i: radius 2
;p2r: radius 3
;p2i: radius 4
;p3r: distance d ( <= radius 3, <= radius 4 )
;------------------------------------------------------------
r1 = real(p1)
r2 = imag(p1)
r3 = real(p2)
r4 = imag(p2)
c1 = r1 + real(p3) ;wrong sign will be compensated for in the loop
c2 = r2 + real(p3)
c3 = r3 - real(p3)
c4 = r4 - real(p3)
c3 = ((c1-c2)*c3+flip(sqrt((c1+c2+c3)*c1*c2*c3)*2))/(c1+c2)
c4 = ((c1-c2)*c4-flip(sqrt((c1+c2+c4)*c1*c2*c4)*2))/(c1+c2)
rr1 = sqr(r1)
rr2 = sqr(r2)
rr3 = sqr(r3)
rr4 = sqr(r4)
z = pixel:
inside = 0
IF (|z+c1| < rr1)
z = r1*conj(r1/(z+c1)) - c1
inside = 1
ELSEIF (|z-c2| < rr2)
z = r2*conj(r2/(z-c2)) + c2
inside = 1
ELSEIF (|z-c3| < rr3)
z = r3*conj(r3/(z-c3)) + c3
inside = 1
ELSEIF (|z-c4| < rr4)
z = r4*conj(r4/(z-c4)) + c4
inside = 1
ENDIF
inside
}
-------------------------------------------------------------------------
Mod4Klein_Group { ; Gerald K. Dobiasovsky <gerald.******@*****.at>
; Tue, 28 May 2002 03:08:36 (ver. 2)
; Sat, 25 May 2002 08:00:52 (ver. 1)
; Modification of "3Klein_Group" by Morgan L. Owens
; Centers of circles 1 and 2 are situated on the x-axis,
; both circles with distance d to the y-axis.
; Circle 3 touches both 1 and 2.
;Parameters of circle 4 are not restricted. Circle has "inverted" function.
;periodicity=no
;------------------------------------
;p1r: radius 1
;p1i: radius 2
;p2r: radius 3
;p2i: radius 4
;p3r: Center of circle 4 x-coordinate
;p3i: Center of circle 4 y-coordinate
;p4r: distance d ( <= radius 3 )
;------------------------------------
r1 = real(p1)
r2 = imag(p1)
r3 = real(p2)
r4 = imag(p2)
c1 = r1 + real(p4) ;wrong sign will be compensated for in the loop
c2 = r2 + real(p4)
c3 = r3 - real(p4)
c3 = ((c1-c2)*c3+flip(sqrt((c1+c2+c3)*c1*c2*c3)*2))/(c1+c2)
rr1 = sqr(r1)
rr2 = sqr(r2)
rr3 = sqr(r3)
rr4 = sqr(r4)
z = pixel:
inside = 0
IF (|z+c1| < rr1)
z = r1*conj(r1/(z+c1)) - c1
inside = 1
ELSEIF (|z-c2| < rr2)
z = r2*conj(r2/(z-c2)) + c2
inside = 1
ELSEIF (|z-c3| < rr3)
z = r3*conj(r3/(z-c3)) + c3
inside = 1
ELSEIF (|z-p3| > rr4)
z = r4*conj(r4/(z-p3)) + p3
inside = 1
ENDIF
inside
}
-----------------------------------------------------------------------
Mod5Klein_Group { ; Gerald K. Dobiasovsky <gerald.******@*****.at>
; Tue, 28 May 2002 03:08:36 (ver. 2)
; Sat, 25 May 2002 08:00:52 (ver. 1)
; Modification of "4Klein_Group" by Morgan L. Owens
; Centers of circles 1 and 2 are situated on the x-axis,
; both circles with distance d to the y-axis.
; Circles 3 and 4 both touch 1 and 2.
;Parameters of circle 5 are not restricted. Circle has "inverted" function.
;periodicity=no
;------------------------------------
;p1r: radius 1
;p1i: radius 2
;p2r: radius 3
;p2i: radius 4
;p3r: Center of circle 5 x-coordinate
;p3i: Center of circle 5 y-coordinate
;p4r: radius 5
;p4i: distance d ( <= radius 3, <= radius 4 )
;--------------------------------------------
r1 = real(p1)
r2 = imag(p1)
r3 = real(p2)
r4 = imag(p2)
r5 = real(p4)
c1 = r1 + imag(p4) ;wrong sign will be compensated for in the loop
c2 = r2 + imag(p4)
c3 = r3 - imag(p4)
c4 = r4 - imag(p4)
c3 = ((c1-c2)*c3+flip(sqrt((c1+c2+c3)*c1*c2*c3)*2))/(c1+c2)
c4 = ((c1-c2)*c4-flip(sqrt((c1+c2+c4)*c1*c2*c4)*2))/(c1+c2)
rr1 = sqr(r1)
rr2 = sqr(r2)
rr3 = sqr(r3)
rr4 = sqr(r4)
rr5 = sqr(r5)
z = pixel:
inside = 0
IF (|z+c1| < rr1)
z = r1*conj(r1/(z+c1)) - c1
inside = 1
ELSEIF (|z-c2| < rr2)
z = r2*conj(r2/(z-c2)) + c2
inside = 1
ELSEIF (|z-c3| < rr3)
z = r3*conj(r3/(z-c3)) + c3
inside = 1
ELSEIF (|z-c4| < rr4)
z = r4*conj(r4/(z-c4)) + c4
inside = 1
ELSEIF (|z-p3| > rr5)
z = r5*conj(r5/(z-p3)) + p3
inside = 1
ENDIF
inside
}
alsou
3Klein_Group(XAXIS) { ; Morgan L. Owens <pac****@****.***.nz>
; Thu, 23 May 2002 01:28:28
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}
-------------------------------------------------------------------------------------------------
6Klein_Group(XYAXIS) { ; Morgan L. Owens <pac****@****.***.nz>
; Thu, 23 May 2002 01:28:28
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}
Klein_squ_lattice(XYAXIS) { ; Morgan L. Owens <pac****@****.***.nz>
; Thu, 23 May 2002 01:28:28
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}
-------------------------------------------------------------------------------------------------
Klein_tri_lattice(XYAXIS) { ; Morgan L. Owens <pac****@****.***.nz>
; Thu, 23 May 2002 01:28:28
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}
Morgan Owens seems to be one of the best Fractint formula authors together with Pusk@s Istv@n. Maybe I must share his formula files alltogether.