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.