\newpage

\section{Examples} % (fold)
\label{sec:examples}

\subsection{Length transfer} % (fold)
\label{sub:report_de_distance}

Use of |north and east| functions linked to points, to transfer lengths, Refer to (\ref{sub:length_of_a_segment})

\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
  scale = .75
   z.A = point : new ( 0 , 0 )
   z.B = point : new ( 3 , 0 )
   L.AB = line : new ( z.A , z.B )
   T.ABC =   L.AB : sublime ()
   z.C = T.ABC.pc
   z.D = z.B: north (length(z.B,z.C))
   z.E = z.B: east (L.AB.length)
   z.M = L.AB.mid
   z.F = z.E : north (length(z.C,z.M))
\end{tkzelements}
\begin{tikzpicture}[gridded]
   \tkzGetNodes
   \tkzDrawPolygons(A,B,C) 
   \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
   \tkzDrawPoints(A,...,F)
   \tkzLabelPoints(A,B,E,M)
   \tkzLabelPoints[above right](C,D,F)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
   scale = .75
   z.A = point : new ( 0 , 0 )
   z.B = point : new ( 3 , 0 )
   L.AB = line : new ( z.A , z.B )
   T.ABC =   L.AB : sublime ()
   z.C = T.ABC.pc
   z.D = z.B: north (length(z.B,z.C))
   z.E = z.B: east (L.AB.length)
   z.M = L.AB.mid
   z.F = z.E : north (length(z.C,z.M))
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}[gridded]
     \tkzGetNodes
     \tkzDrawPolygons(A,B,C) 
     \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
     \tkzDrawPoints(A,...,F)
     \tkzLabelPoints(A,B,E,M)
     \tkzLabelPoints[above right](C,D,F)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection report_de_distance (end)


\subsection{D'Alembert 1} % (fold)
\label{sub:d_alembert_1}

\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
   z.A = point : new (0,0)
   z.a = point : new (4,0)
   z.B = point : new (7,-1)
   z.b = point : new (5.5,-1)
   z.C = point : new (5,-4)
   z.c = point : new (4.25,-4)
   C.Aa    = circle :    new (z.A,z.a)
   C.Bb    = circle :    new (z.B,z.b)
   C.Cc    = circle :    new (z.C,z.c)
   z.I = C.Aa : external_similitude (C.Bb)
   z.J = C.Aa : external_similitude (C.Cc)
   z.K = C.Cc : external_similitude (C.Bb)
   z.Ip    = C.Aa : internal_similitude (C.Bb)
   z.Jp    = C.Aa : internal_similitude (C.Cc)
   z.Kp    = C.Cc : internal_similitude (C.Bb)
\end{tkzelements}
\begin{tikzpicture}[rotate=-60]
   \tkzGetNodes
   \tkzDrawCircles(A,a B,b C,c)
   \tkzDrawPoints(A,B,C,I,J,K,I',J',K')
   \tkzDrawSegments[new](I,K A,I A,J B,I B,K C,J C,K)
   \tkzDrawSegments[purple](I,J' I',J I',K)
   \tkzLabelPoints(I,J,K,I',J',K')
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
scale = .5
z.A = point : new (0,0)
z.a = point : new (4,0)
z.B = point : new (7,-1)
z.b = point : new (5.5,-1)
z.C = point : new (5,-4)
z.c = point : new (4.25,-4)
C.Aa    = circle :    new (z.A,z.a)
C.Bb    = circle :    new (z.B,z.b)
C.Cc    = circle :    new (z.C,z.c)
z.I = C.Aa : external_similitude (C.Bb)
z.J = C.Aa : external_similitude (C.Cc)
z.K = C.Cc : external_similitude (C.Bb)
z.Ip    = C.Aa : internal_similitude (C.Bb)
z.Jp    = C.Aa : internal_similitude (C.Cc)
z.Kp    = C.Cc : internal_similitude (C.Bb)
\end{tkzelements}
  
\begin{center}
  \begin{tikzpicture}[rotate=30]
     \tkzGetNodes
     \tkzDrawCircles(A,a B,b C,c)
     \tkzDrawPoints(A,B,C,I,J,K,I',J',K')
     \tkzDrawSegments[new](I,K A,I A,J B,I B,K C,J C,K)
     \tkzDrawSegments[purple](I,J' I',J I',K)
     \tkzLabelPoints(I,J,K,I',J',K')
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection d_alembert_1 (end)

\subsection{D'Alembert 2} % (fold)
\label{sub:d_alembert_2}

\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
   scale = .75
   z.A     = point : new (0,0)
   z.a     = point : new (5,0)
   z.B     = point : new (7,-1)
   z.b     = point : new (3,-1)
   z.C     = point : new (5,-4)
   z.c     = point : new (2,-4)
   C.Aa    = circle :    new (z.A,z.a)
   C.Bb    = circle :    new (z.B,z.b)
   C.Cc    = circle :    new (z.C,z.c)
   z.i,z.j = get_points (C.Aa : radical_axis (C.Bb))
   z.k,z.l = get_points (C.Aa : radical_axis (C.Cc))
   z.m,z.n = get_points (C.Bb : radical_axis (C.Cc))
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(A,a B,b C,c)
   \tkzDrawLines[new](i,j k,l m,n)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
   scale = .5
   z.A     = point : new (0,0)
   z.a     = point : new (5,0)
   z.B     = point : new (7,-1)
   z.b     = point : new (3,-1)
   z.C     = point : new (5,-4)
   z.c     = point : new (2,-4)
   C.Aa    = circle :    new (z.A,z.a)
   C.Bb    = circle :    new (z.B,z.b)
   C.Cc    = circle :    new (z.C,z.c)
   z.i,z.j = get_points (C.Aa : radical_axis (C.Bb))
   z.k,z.l = get_points (C.Aa : radical_axis (C.Cc))
   z.m,z.n = get_points (C.Bb : radical_axis (C.Cc))
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles(A,a B,b C,c)
  \tkzDrawLines[new](i,j k,l m,n)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection d_alembert_2 (end)

\subsection{Altshiller} % (fold)
\label{sub:altshiller}

\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
   z.P   = point : new (0,0)
   z.Q   = point : new (5,0)
   z.I   = point : new (3,2)
   C.QI  = circle :    new (z.Q,z.I)
   C.PE  = C.QI : orthogonal_from (z.P)
   z.E   = C.PE.through
   C.QE  = circle :    new (z.Q,z.E)
   _,z.F = intersection (C.PE,C.QE)
   z.A   = C.PE: point (1/9)
   L.AE  = line : new (z.A,z.E)
   _,z.C = intersection (L.AE,C.QE)
   L.AF  = line : new (z.A,z.F)
   L.CQ  = line : new (z.C,z.Q)
   z.D   = intersection (L.AF,L.CQ)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(P,E Q,E)
   \tkzDrawLines[add=0 and 1](P,Q)
   \tkzDrawLines[add=0 and 2](A,E)
   \tkzDrawSegments(P,E E,F F,C A,F C,D)
   \tkzDrawPoints(P,Q,E,F,A,C,D)
   \tkzLabelPoints(P,Q,E,F,A,C,D)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
   \begin{tkzelements}
      scale =.5
   z.P  = point : new (0,0)
   z.Q  = point : new (5,0)
   z.I  = point : new (3,2)
   C.QI = circle :    new (z.Q,z.I)
   C.PE = C.QI : orthogonal_from (z.P)
   z.E  = C.PE.through
   C.QE = circle :    new (z.Q,z.E)
   _,z.F = intersection (C.PE,C.QE)
   z.A  = C.PE: point (1/9)
   L.AE = line : new (z.A,z.E)
   _,z.C    = intersection (L.AE,C.QE)
   L.AF = line : new (z.A,z.F)
   L.CQ = line : new (z.C,z.Q)
   z.D  = intersection (L.AF,L.CQ)
   \end{tkzelements}
   \begin{center}
     \begin{tikzpicture}
     \tkzGetNodes
     \tkzDrawCircles(P,E Q,E)
     \tkzDrawLines[add=0 and 1](P,Q)
     \tkzDrawLines[add=0 and 2](A,E)
     \tkzDrawSegments(P,E E,F F,C A,F C,D)
     \tkzDrawPoints(P,Q,E,F,A,C,D)
     \tkzLabelPoints(P,Q,E,F,A,C,D)
     \end{tikzpicture}
   \end{center}
\end{minipage}
%subsection altshiller (end)

\subsection{Lemoine} % (fold)
\label{sub:lemoine}

\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
   scale = 1.25
   z.A   = point: new (1,0)
   z.B   = point: new (5,2)
   z.C   = point: new (1.2,2)
   T     = triangle: new(z.A,z.B,z.C)
   z.O   = T.circumcenter
   C.OA  = circle: new (z.O,z.A)
   L.tA  = C.OA: tangent_at (z.A)
   L.tB  = C.OA: tangent_at (z.B)
   L.tC  = C.OA: tangent_at (z.C)
   z.P   = intersection (L.tA,T.bc)
   z.Q   = intersection (L.tB,T.ca)
   z.R   = intersection (L.tC,T.ab)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes  
   \tkzDrawPolygon[teal](A,B,C)
   \tkzDrawCircle(O,A)
   \tkzDrawPoints(A,B,C,P,Q,R)
   \tkzLabelPoints(A,B,C,P,Q,R)
   \tkzDrawLine[blue](Q,R)
   \tkzDrawLines[red](A,P B,Q R,C)
   \tkzDrawSegments(A,R C,P C,Q)
\end{tikzpicture}
\end{Verbatim}

\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
scale = .75
z.A   = point: new (1,0)
z.B   = point: new (5,2)
z.C   = point: new (1.2,2)
T     = triangle: new(z.A,z.B,z.C)
z.O   = T.circumcenter
C.OA  = circle: new (z.O,z.A)
L.tA  = C.OA: tangent_at (z.A)
L.tB  = C.OA: tangent_at (z.B)
L.tC  = C.OA: tangent_at (z.C)
z.R   = intersection (L.tC,T.ab)
z.P   = intersection (L.tA,T.bc)
z.Q   = intersection (L.tB,T.ca)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}[rotate=90]
  \tkzGetNodes  
  \tkzDrawPolygon[teal](A,B,C)
  \tkzDrawCircle(O,A)
  \tkzDrawPoints(A,B,C,P,Q,R)
  \tkzLabelPoints(A,B,C,P,Q,R)
  \tkzDrawLine[blue](Q,R)
  \tkzDrawLines[red](A,P B,Q R,C)
  \tkzDrawSegments(A,R C,P C,Q)
  \end{tikzpicture}
\end{center}

\end{minipage}
%\caption{Lemoine line}
% subsection lemoine (end)


\subsection{Alternate} % (fold)
\label{sub:alternate}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
   z.A  = point: new (0 , 0)
   z.B  = point: new (6 , 0)
   z.C  = point: new (1 , 5)
   T    = triangle: new (z.A,z.B,z.C)
   z.I  = T.incenter
   L.AI = line: new (z.A,z.I) 
   z.D  = intersection (L.AI,T.bc)
   L.LLC    = T.ab: ll_from (z.C)
   z.E  = intersection (L.AI,L.LLC)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPolygon(A,B,C)
   \tkzDrawLine[purple](C,E)
   \tkzDrawSegment[purple](A,E)
   \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
   \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
   \tkzDrawPoints(A,...,E)
   \tkzLabelPoints(A,B)
   \tkzLabelPoints[above](C,D,E)
   \tkzMarkSegments(A,C C,E)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}

\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
z.A  = point: new (0 , 0)
z.B  = point: new (6 , 0)
z.C  = point: new (1 , 5)
T    = triangle: new (z.A,z.B,z.C)
z.I  = T.incenter
L.AI = line: new (z.A,z.I) 
z.D  = intersection (L.AI,T.bc)
L.LLC    = T.ab: ll_from (z.C)
z.E  = intersection (L.AI,L.LLC)
\end{tkzelements}
\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygon(A,B,C)
  \tkzDrawLine[purple](C,E)
  \tkzDrawSegment[purple](A,E)
  \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
  \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
  \tkzDrawPoints(A,...,E)
  \tkzLabelPoints(A,B)
  \tkzLabelPoints[above](C,D,E)
  \tkzMarkSegments(A,C C,E)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection alternate (end)

\subsection{Method \Imeth{circle}{common tangent}: orthogonality} % (fold)
\label{sub:common_tangent_orthogonality}
For two circles  to be orthogonal, it is necessary and sufficient for a secant  passing through one of their common points to be seen from the other common point at a right angle.

\begin{Verbatim}
\begin{tkzelements}
   z.A   = point : new ( 0  , 0  )
   z.B   = point : new ( 4  , 2  )
   L.AB = line : new ( z.A , z.B )
   z.a   = point : new ( 1 , 2 )
   C.Aa  = circle : new (z.A,z.a)
   C.BC = C.Aa : orthogonal_from (z.B)
   z.C,z.D = intersection (C.Aa,C.BC)
   C.AC  = circle : new (z.A,z.C)
   z.T,z.Tp = C.AC : common_tangent (C.BC)
   L.TTp = line : new (z.T,z.Tp)
   z.M   = C.AC : point (0.45)
   L.MC  =line : new (z.M,z.C)
   z.Mp  = intersection (L.MC, C.BC) 
   L.mm = L.TTp : ll_from (z.C)
   _,z.M = intersection (L.mm, C.AC)
   z.Mp = intersection (L.mm, C.BC)
\end{tkzelements}
    
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(A,C B,C)
   \tkzDrawSegments(M,M' A,C B,C A,B)
   \tkzDrawSegments[gray](D,M D,M' T,T')
   \tkzDrawPoints(A,B,C,D,M,M',T,T')
   \tkzLabelPoints(A,B,D,M)
   \tkzLabelPoints[above](C,M',T,T')
   \tkzMarkRightAngles(M',D,M A,C,B)
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
z.A   = point : new ( 0  , 0  )
z.B   = point : new ( 4  , 2  )
L.AB = line : new ( z.A , z.B )
z.a   = point : new ( 1 , 2 )
C.Aa  = circle : new (z.A,z.a)
C.BC = C.Aa : orthogonal_from (z.B)
z.C,z.D = intersection (C.Aa,C.BC)
C.AC  = circle : new (z.A,z.C)
z.T,z.Tp = C.AC : common_tangent (C.BC)
L.TTp = line : new (z.T,z.Tp)
z.M   = C.AC : point (0.45)
L.MC  =line : new (z.M,z.C)
z.Mp  = intersection (L.MC, C.BC) 
L.mm = L.TTp : ll_from (z.C)
_,z.M = intersection (L.mm, C.AC)
z.Mp = intersection (L.mm, C.BC)
\end{tkzelements}
  
\begin{center}
  \begin{tikzpicture}
     \tkzGetNodes
     \tkzDrawCircles(A,C B,C)
     \tkzDrawSegments(M,M' A,C B,C A,B)
     \tkzDrawSegments[gray](D,M D,M' T,T')
     \tkzDrawPoints(A,B,C,D,M,M',T,T')
     \tkzLabelPoints(A,B,D,M)
     \tkzLabelPoints[above](C,M',T,T')
     \tkzMarkRightAngles(M',D,M A,C,B)
  \end{tikzpicture}
\end{center}
% subsection common_tangent_orthogonality (end)


\subsection{Apollonius circle} % (fold)
\label{sub:apollonius_circle}

\begin{tkzelements}
scale=.75
   z.A  = point: new (0 , 0)
   z.B  = point: new (6 , 0)
   z.M  = point: new (5 , 3)
   T.MAB    = triangle : new (z.M,z.A,z.B)
   L.bis    = T.MAB : bisector ()
   z.C  = L.bis.pb
   L.bisext = T.MAB : bisector_ext ()
   z.D  = intersection (T.MAB.bc, L.bisext)
   L.CD = line: new (z.C,z.D)
   z.O  = L.CD.mid
   L.AM = T.MAB.ab
   z.E  = z.M : symmetry (z.A)
\end{tkzelements}

\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
scale=.75
   z.A      = point: new (0 , 0)
   z.B      = point: new (6 , 0)
   z.M      = point: new (5 , 3)
   T.MAB    = triangle : new (z.M,z.A,z.B)
   L.bis    = T.MAB : bisector ()
   z.C      = L.bis.pb
   L.bisext = T.MAB : bisector_ext ()
   z.D      = intersection (T.MAB.bc, L.bisext)
   L.CD     = line: new (z.C,z.D)
   z.O      = L.CD.mid
   L.AM     = T.MAB.ab
   z.E      = z.M : symmetry (z.A)
\end{tkzelements}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}

  \begin{center}
    \begin{tikzpicture}[scale=.8]
       \tkzGetNodes
       \tkzDrawSegment[add=0 and 1](A,M)
       \tkzDrawSegments[purple](M,C M,D)
       \tkzDrawCircle[purple](O,C)
       \tkzDrawSegments(A,B B,M D,B)
       \tkzDrawPoints(A,B,M,C,D)
       \tkzLabelPoints[below right](A,B,C,D)
       \tkzLabelPoints[above](M)
       \tkzFillAngles[opacity=.4,cyan!20](A,M,B)
       \tkzFillAngles[opacity=.4,purple!20](B,M,E)
       \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
       \tkzMarkAngles[mark=|](A,M,C C,M,B)
       \tkzMarkAngles[mark=||](B,M,D D,M,E)
    \end{tikzpicture} 
  \end{center}


\end{minipage}



\begin{Verbatim}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawSegment[add=0 and 1](A,M)
   \tkzDrawSegments[purple](M,C M,D)
   \tkzDrawCircle[purple](O,C)
   \tkzDrawSegments(A,B B,M D,B)
   \tkzDrawPoints(A,B,M,C,D)
   \tkzLabelPoints[below right](A,B,C,D)
   \tkzLabelPoints[above](M)
   \tkzFillAngles[opacity=.4,cyan!20](A,M,B)
   \tkzFillAngles[opacity=.4,purple!20](B,M,E)
   \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
   \tkzMarkAngles[mark=|](A,M,C C,M,B)
   \tkzMarkAngles[mark=||](B,M,D D,M,E)
\end{tikzpicture} 
\end{Verbatim}

Remark : The circle can be obtained with:

|C.AB = T.MAB.bc : apollonius (length(z.M,z.A)/length(z.M,z.B))|


%subsection apollonius_circle (end)

\subsection{Apollonius and circle circumscribed } % (fold)
\label{sub:apollonius_and_circle_circumscribed}

\begin{Verbatim}
\begin{tkzelements}
   scale =.75
   z.A   = point: new (0 , 0)
   z.B   = point: new (6 , 0)
   z.M   = point: new (5 , 4)
   T.AMB = triangle: new (z.A,z.M,z.B)
   L.AB  = T.AMB.ca
   z.I   = T.AMB.incenter
   L.MI  = line: new (z.M,z.I)
   z.C   = intersection (L.AB , L.MI)
   L.MJ  = L.MI: ortho_from (z.M)
   z.D   = intersection (L.AB , L.MJ)
   L.CD  = line: new (z.C,z.D)
   z.O   = L.CD.mid
   z.G   = T.AMB.circumcenter
   C.GA  = circle: new (z.G,z.A)
   C.OC  = circle: new (z.O,z.C)
   _,z.N = intersection (C.GA , C.OC)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPolygon(A,B,M)
   \tkzDrawCircles[purple](O,C G,A)
   \tkzDrawSegments[purple](M,D)
   \tkzDrawSegments(D,B O,G M,C)
   \tkzDrawSegments[red,dashed](M,N M,O M,G)
   \tkzDrawPoints(A,B,M,C,D,N,O,G)
   \tkzLabelPoints[below right](A,B,C,D,N,O,G)
   \tkzLabelPoints[above](M)
   \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
\end{tikzpicture}
\end{Verbatim}


\begin{tkzelements}
   scale =.75
   z.A   = point: new (0 , 0)
   z.B   = point: new (6 , 0)
   z.M   = point: new (5 , 4)
   T.AMB = triangle: new (z.A,z.M,z.B)
   L.AB  = T.AMB.ca
   z.I   = T.AMB.incenter
   L.MI  = line: new (z.M,z.I)
   z.C   = intersection (L.AB , L.MI)
   L.MJ  = L.MI: ortho_from (z.M)
   z.D   = intersection (L.AB , L.MJ)
   L.CD  = line: new (z.C,z.D)
   z.O   = L.CD.mid
   z.G   = T.AMB.circumcenter
   C.GA  = circle: new (z.G,z.A)
   C.OC  = circle: new (z.O,z.C)
   _,z.N = intersection (C.GA , C.OC)
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygon(A,B,M)
  \tkzDrawCircles[purple](O,C G,A)
  \tkzDrawSegments[purple](M,D)
  \tkzDrawSegments(D,B O,G M,C)
  \tkzDrawSegments[red,dashed](M,N M,O M,G)
  \tkzDrawPoints(A,B,M,C,D,N,O,G)
  \tkzLabelPoints[below right](A,B,C,D,N,O,G)
  \tkzLabelPoints[above](M)
  \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
  \end{tikzpicture}
\end{center}


% subsection apollonius_and_circle_circumscribed (end)

\subsection{Apollonius circles in a triangle} % (fold)
\label{sub:apollonius_circles}


\begin{Verbatim}
\begin{tkzelements}
   z.A   = point: new (0 , 0)
   z.B   = point: new (6 , 0)   
   z.C   = point: new (4.5 , 1)
   T.ABC = triangle: new (z.A,z.B,z.C)
   z.I   = T.ABC.incenter
   z.O   = T.ABC.circumcenter    
   L.CI  = line: new (z.C,z.I)
   z.Cp  = intersection (T.ABC.ab , L.CI)
   z.x   = L.CI.north_pa
   L.Cx  = line: new (z.C,z.x)
   z.R   = intersection (L.Cx,T.ABC.ab)
   L.CpR = line: new (z.Cp,z.R)
   z.O1  = L.CpR.mid   
   L.AI  = line: new (z.A,z.I)
   z.Ap  = intersection (T.ABC.bc , L.AI)
   z.y   = L.AI.north_pa
   L.Ay  = line: new (z.A,z.y)
   z.S   = intersection (L.Ay,T.ABC.bc)
   L.ApS = line: new (z.Ap,z.S)
   z.O2  = L.ApS.mid 
   L.BI  = line: new (z.B,z.I)
   z.Bp  = intersection (T.ABC.ca , L.BI)
   z.z   = L.BI.north_pa
   L.Bz  = line: new (z.B,z.z)
   z.T   = intersection (L.Bz,T.ABC.ca)
   L.Bpt = line: new (z.Bp,z.T)
   z.O3  = L.Bpt.mid
\end{tkzelements}
\end{Verbatim}
\begin{Verbatim}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles[blue!50!black](O1,C' O2,A' O3,B')
   \tkzDrawSegments[new](B,S C,T A,R)
   \tkzDrawPolygon(A,B,C)
   \tkzDrawPoints(A,B,C,A',B',C',O,I,R,S,T,O1,O2,O3)
   \tkzLabelPoints(A,B,C,A',B',C',O,I)
   \tkzLabelPoints(O1,O2,O3)
   \tkzDrawCircle[purple](O,A)
   \tkzDrawLine(O1,O2)
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
z.A   = point: new (0 , 0)
z.B   = point: new (6 , 0)   
z.C   = point: new (4.5 , 1)
T.ABC = triangle: new (z.A,z.B,z.C)
z.I   = T.ABC.incenter
z.O   = T.ABC.circumcenter    
L.CI  = line: new (z.C,z.I)
z.Cp  = intersection (T.ABC.ab , L.CI)
z.x   = L.CI.north_pa
L.Cx  = line: new (z.C,z.x)
z.R   = intersection (L.Cx,T.ABC.ab)
L.CpR = line: new (z.Cp,z.R)
z.O1  = L.CpR.mid   
L.AI  = line: new (z.A,z.I)
z.Ap  = intersection (T.ABC.bc , L.AI)
z.y   = L.AI.north_pa
L.Ay  = line: new (z.A,z.y)
z.S   = intersection (L.Ay,T.ABC.bc)
L.ApS = line: new (z.Ap,z.S)
z.O2  = L.ApS.mid 
L.BI  = line: new (z.B,z.I)
z.Bp  = intersection (T.ABC.ca , L.BI)
z.z   = L.BI.north_pa
L.Bz  = line: new (z.B,z.z)
z.T   = intersection (L.Bz,T.ABC.ca)
L.Bpt = line: new (z.Bp,z.T)
z.O3  = L.Bpt.mid
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles[blue!50!black](O1,C' O2,A' O3,B')
  \tkzDrawSegments[new](B,S C,T A,R)
  \tkzDrawPolygon(A,B,C)
  \tkzDrawPoints(A,B,C,A',B',C',O,I,R,S,T,O1,O2,O3)
  \tkzLabelPoints(A,B,C,A',B',C',O,I)
  \tkzLabelPoints(O1,O2,O3)
  \tkzDrawCircle[purple](O,A)
  \tkzDrawLine(O1,O2)
  \end{tikzpicture}
\end{center}



Same result using the function |T.ABC.ab : apollonius (k) |

\begin{Verbatim}
   \begin{tkzelements}
   scale       = .75
   z.A         = point: new (0 , 0)
   z.B         = point: new (6 , 0)
   z.C         = point: new (4.5 , 1)
   T.ABC       = triangle : new (z.A,z.B,z.C)
   z.O         = T.ABC.circumcenter
   C.AB        = T.ABC.ab : apollonius (length(z.C,z.A)/length(z.C,z.B))
   z.w1,z.t1   = get_points ( C.AB )
   C.AC        = T.ABC.ca : apollonius (length(z.B,z.C)/length(z.B,z.A))
   z.w2,z.t2   = get_points ( C.AC )
   C.BC        = T.ABC.bc : apollonius (length(z.A,z.B)/length(z.A,z.C))
   z.w3,z.t3   = get_points ( C.BC )
   \end{tkzelements}
\end{Verbatim}

% subsection apollonius_circles (end)

\subsection{Archimedes} % (fold)
\label{sub:archimedes}

\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
   z.O_1    = point:   new  (0, 0)
   z.O_2    = point:   new  (0, 1)
   z.A      = point:   new  (0, 3)
   z.F      = point:   polar (3, math.pi/6)
   L        = line:    new   (z.F,z.O_1)
   C        = circle:  new  (z.O_1,z.A)
   z.E      = intersection (L,C)
   T        = triangle: new (z.F,z.E,z.O_2)
   z.x      = T: parallelogram ()
   L        = line: new    (z.x,z.O_2)
   C        = circle: new  (z.O_2,z.A)
   z.C,z.D  = intersection (L ,C)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(O_1,A O_2,A)
   \tkzDrawSegments[new](O_1,A E,F C,D)
   \tkzDrawSegments[purple](A,E A,F)
   \tkzDrawPoints(A,O_1,O_2,E,F,C,D)
   \tkzLabelPoints(A,O_1,O_2,E,F,C,D)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
    z.O_1  = point:   new  (0, 0)
    z.O_2  = point:   new  (0, 1)
    z.A    = point:   new  (0, 3)
    z.F    = point:   polar (3, math.pi/6)
    L  = line:    new   (z.F,z.O_1)
    C  = circle:  new  (z.O_1,z.A)
    z.E    = intersection (L,C)
    T  = triangle: new (z.F,z.E,z.O_2)
    z.x    = T: parallelogram ()
    L     = line: new    (z.x,z.O_2)
    C     = circle: new  (z.O_2,z.A)
    z.C,z.D   = intersection (L ,C)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles(O_1,A O_2,A)
  \tkzDrawSegments[new](O_1,A E,F C,D)
  \tkzDrawSegments[purple](A,E A,F)
  \tkzDrawPoints(A,O_1,O_2,E,F,C,D)
  \tkzLabelPoints(A,O_1,O_2,E,F,C,D)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection archimedes (end)

\subsection{Bankoff circle} % (fold)
\label{sub:bankoff_circle}
\begin{Verbatim}
\begin{tkzelements}
   z.A      = point: new (0 , 0)
   z.B      = point: new (10 , 0)
   L.AB     = line : new (z.A,z.B)
   z.C      = L.AB: gold_ratio ()
   L.AC     = line : new (z.A,z.C)
   L.CB     = line : new (z.C,z.B)
   z.O_0    = L.AB.mid
   z.O_1    = L.AC.mid
   z.O_2    = L.CB.mid
   C.O0B    = circle : new (z.O_0,z.B)
   C.O1C    = circle : new (z.O_1,z.C)
   C.O2C    = circle : new (z.O_2,z.B)
   z.Pp     = C.O0B : midarc (z.B,z.A)
   z.P      = C.O1C : midarc (z.C,z.A)
   z.Q      = C.O2C : midarc (z.B,z.C)
   L.O1O2   = line : new (z.O_1,z.O_2)
   L.O0O1   = line : new (z.O_0,z.O_1)
   L.O0O2   = line : new (z.O_0,z.O_2)
   z.M_0    = L.O1O2 : harmonic_ext (z.C)
   z.M_1    = L.O0O1 : harmonic_int (z.A)
   z.M_2    = L.O0O2 : harmonic_int (z.B)
   L.BP     = line : new (z.B,z.P)
   L.AQ     = line : new (z.A,z.Q)
   z.S      = intersection (L.BP,L.AQ)
   L.PpO0   = line : new (z.Pp,z.O_0)
   L.PC     = line : new (z.P,z.C)
   z.Ap     = intersection (L.PpO0,L.PC)
   L.CS     = line : new (z.C,z.S)
   C.M1A    = circle : new (z.M_1,z.A)
   C.M2B    = circle : new (z.M_2,z.B)
   z.P_0    = intersection (L.CS,C.O0B)
   z.P_1    = intersection (C.M2B,C.O1C)
   z.P_2    = intersection (C.M1A,C.O2C)
   T.P0P1P2 = triangle : new (z.P_0,z.P_1,z.P_2)
   z.O_4    = T.P0P1P2.circumcenter
   T.CP1P2  = triangle : new (z.C,z.P_1,z.P_2)
   z.O_5    = T.CP1P2.circumcenter
\end{tkzelements}
\end{Verbatim}

\begin{Verbatim}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawSemiCircles[teal](O_0,B)
\tkzDrawSemiCircles[teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
\tkzDrawCircle[fill=green!10](O_4,P_0)
\tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
\tkzDrawSegments(A,B O_0,P' B,P A,Q)
\tkzDrawSegments(P,B Q,O_2 P,O_1)
\tkzDrawSegments[purple](O_5,P_2 O_5,P_1 O_5,C)
\tkzDrawPoints(A,B,C,P_0,P_2,P_1,O_0,O_1,O_2,O_4,O_5,Q,P,P',S)
\tkzLabelPoints[below](A,B,C,O_0,O_1,O_2,P')
\tkzLabelPoints[above](Q,P)
\tkzLabelPoints[above right](P_0,P_2,P_1,O_5,O_4,S)
\begin{scope}[font=\scriptsize]
  \tkzLabelCircle[above](O_1,C)(120){$(\beta)$}
  \tkzLabelCircle[above](O_2,B)(70){$(\gamma)$}
  \tkzLabelCircle[above](O_0,B)(110){$(\alpha)$}
  \tkzLabelCircle[left](O_4,P_2)(60){$(\delta)$}
  \tkzLabelCircle[left](O_5,C)(140){$(\epsilon)$}
\end{scope}
\end{tikzpicture}
\end{Verbatim}


\begin{tkzelements}
   scale = 1.25
   z.A  = point: new (0 , 0)
   z.B  = point: new (10 , 0)
   L.AB = line : new (z.A,z.B)
   z.C  = L.AB: gold_ratio ()
   L.AC = line : new (z.A,z.C)
   L.CB = line : new (z.C,z.B)
   z.O_0    = L.AB.mid
   z.O_1    = L.AC.mid
   z.O_2    = L.CB.mid
   C.O0B    = circle : new (z.O_0,z.B)
   C.O1C    = circle : new (z.O_1,z.C)
   C.O2C    = circle : new (z.O_2,z.B)
   z.Pp = C.O0B : midarc (z.B,z.A)
   z.P  = C.O1C : midarc (z.C,z.A)
   z.Q  = C.O2C : midarc (z.B,z.C)
   L.O1O2   = line : new (z.O_1,z.O_2)
   L.O0O1   = line : new (z.O_0,z.O_1)
   L.O0O2   = line : new (z.O_0,z.O_2)
   z.M_0    = L.O1O2 : harmonic_ext (z.C)
   z.M_1    = L.O0O1 : harmonic_int (z.A)
   z.M_2    = L.O0O2 : harmonic_int (z.B)
   L.BP = line : new (z.B,z.P)
   L.AQ = line : new (z.A,z.Q)
   z.S  = intersection (L.BP,L.AQ)
   L.PpO0   = line : new (z.Pp,z.O_0)
   L.PC = line : new (z.P,z.C)
   z.Ap = intersection (L.PpO0,L.PC)
   L.CS = line : new (z.C,z.S)
   C.M1A    = circle : new (z.M_1,z.A)
   C.M2B    = circle : new (z.M_2,z.B)
   z.P_0    = intersection (L.CS,C.O0B)
   z.P_1    = intersection (C.M2B,C.O1C)
   z.P_2    = intersection (C.M1A,C.O2C)
   T.P0P1P2 = triangle : new (z.P_0,z.P_1,z.P_2)
   z.O_4    = T.P0P1P2.circumcenter
   T.CP1P2  = triangle : new (z.C,z.P_1,z.P_2)
   z.O_5    = T.CP1P2.circumcenter
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawSemiCircles[teal](O_0,B)
  \tkzDrawSemiCircles[teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
  \tkzDrawCircle[fill=green!10](O_4,P_0)
  \tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
  \tkzDrawSegments(A,B O_0,P' B,P A,Q)
  \tkzDrawSegments(P,B Q,O_2 P,O_1)
  \tkzDrawSegments[purple](O_5,P_2 O_5,P_1 O_5,C)
  \tkzDrawPoints(A,B,C,P_0,P_2,P_1,O_0,O_1,O_2,O_4,O_5,Q,P,P',S)
  \tkzLabelPoints[below](A,B,C,O_0,O_1,O_2,P')
  \tkzLabelPoints[above](Q,P)
  \tkzLabelPoints[above right](P_0,P_2,P_1,O_5,O_4,S)
  \begin{scope}[font=\scriptsize]
    \tkzLabelCircle[above](O_1,C)(120){$(\beta)$}
    \tkzLabelCircle[above](O_2,B)(70){$(\gamma)$}
    \tkzLabelCircle[above](O_0,B)(110){$(\alpha)$}
    \tkzLabelCircle[left](O_4,P_2)(60){$(\delta)$}
    \tkzLabelCircle[left](O_5,C)(140){$(\epsilon)$}
  \end{scope}
  \end{tikzpicture}
\end{center}

% subsection bankoff_circle (end)

\subsection{Symmedian property} % (fold)
\label{sub:example_symmedian_property}

$L$ is the symmedian point or lemoine point. $\dfrac{CL}{CLc} = \dfrac{a^2+b^2}{a^2+b^2+c^2}$

\vspace{6pt}
\begin{minipage}{.5\textwidth}
  \begin{Verbatim}
    \begin{tkzelements}
       scale          = 1.5
       z.A            = point :   new (1,2)
       z.B            = point :   new (5,1)
       z.C            = point :   new (3,5)
       T.ABC          = triangle : new (z.A,z.B,z.C)
       T.SY           = T.ABC : symmedian ()
       z.La,z.Lb,z.Lc = get_points (T.SY) 
       k              = (T.ABC.a*T.ABC.a +    
                        T.ABC.b*T.ABC.b)/(T.ABC.a*T.ABC.a +     
                        T.ABC.b*T.ABC.b+T.ABC.c*T.ABC.c)
       L.SY            = line : new (z.C,z.Lc)
       z.L             = L.SY : point (k)
    \end{tkzelements}
    \begin{tikzpicture}
    \tkzGetNodes
    \tkzDrawPolygons(A,B,C)
    \tkzDrawPoints(A,B,C,L,Lc)
    \tkzDrawPoints[red](L)
    \tkzDrawSegments[cyan](C,Lc)
    \tkzLabelPoints(A,B,Lc)
    \tkzLabelPoints[above](C)
    \tkzLabelPoints[left](L)
    \tkzLabelSegment(B,C){$a$}
    \tkzLabelSegment(A,C){$b$}
    \tkzLabelSegment(A,B){$ca$}
    \end{tikzpicture}
  \end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
  \begin{tkzelements}
     scale          = 1.5
     z.A            = point :   new (1,2)
     z.B            = point :   new (5,1)
     z.C            = point :   new (3,5)
     T.ABC          = triangle : new (z.A,z.B,z.C)
     T.SY           = T.ABC : symmedian ()
     z.La,z.Lb,z.Lc = get_points (T.SY) 
     k              = (T.ABC.a*T.ABC.a +    
                      T.ABC.b*T.ABC.b)/(T.ABC.a*T.ABC.a +     
                      T.ABC.b*T.ABC.b+T.ABC.c*T.ABC.c)
     L.SY            = line : new (z.C,z.Lc)
     z.L             = L.SY : point (k)
  \end{tkzelements}
  \begin{center}
    \begin{tikzpicture}
    \tkzGetNodes
    \tkzDrawPolygons(A,B,C)
    \tkzDrawPoints(A,B,C,L,Lc)
    \tkzDrawPoints[red](L)
    \tkzDrawSegments[cyan](C,Lc)
    \tkzLabelPoints(A,B,Lc)
    \tkzLabelPoints[above](C)
    \tkzLabelPoints[left](L)
    \tkzLabelSegment(B,C){$a$}
    \tkzLabelSegment(A,C){$b$}
    \tkzLabelSegment(A,B){$ca$}
    \end{tikzpicture}
  \end{center}
\end{minipage}


% subsection example_symmedian_property (end)

\subsection{Example: Cevian with orthocenter} % (fold)
\label{sub:example_cevian_with_orthocenter}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
  scale = 1.5
  z.a = point:  new (1,2)
  z.b = point:  new (5,1)
  z.c = point:  new (3,5)
  T = triangle: new (z.a,z.b,z.c)
  z.i = T.orthocenter
  T.cevian = T : cevian (z.i)
  z.ta,z.tb,z.tc = get_points (T.cevian)
  C.cev = T : cevian_circle (z.i)
  z.w = C.cev.center
\end{tkzelements}
\begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygons(a,b,c ta,tb,tc)
  \tkzDrawSegments(a,ta b,tb c,tc)
  \tkzDrawPoints(a,b,c,i,ta,tb,tc)
  \tkzLabelPoints(a,b,c,i)
  \tkzDrawCircles(w,ta)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
scale =  1.5
z.a = point:  new (1,2)
z.b = point:  new (5,1)
z.c = point:  new (3,5)
T = triangle: new (z.a,z.b,z.c)
z.i = T.orthocenter
T.cevian = T : cevian (z.i)
z.ta,z.tb,z.tc = get_points (T.cevian)
C.cev = T : cevian_circle (z.i)
z.w = C.cev.center
\end{tkzelements}
\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygons(a,b,c ta,tb,tc)
  \tkzDrawSegments(a,ta b,tb c,tc)
  \tkzDrawPoints(a,b,c,i,ta,tb,tc)
  \tkzLabelPoints(a,b,c,i)
  \tkzDrawCircles(w,ta)
  \end{tikzpicture}
\end{center}
\end{minipage}

% subsection example_cevian_with_orthocenter (end)

\subsection{Excircles} % (fold)
\label{sub:excircles}

\begin{Verbatim}
\begin{tkzelements}
   scale                =  0.7
   z.A                  = point: new (0,0)
   z.B                  = point: new (6,0)
   z.C                  = point: new (.8,4)
   T                    = triangle: new ( z.A, z.B, z.C)
   z.K                  = T.centroid
   z.J_a,z.J_b,z.J_c    = get_points (T: excentral())
   z.T_a,z.T_b,z.T_c    = get_points (T: extouch())
   la                   = line: new ( z.A, z.T_a)
   lb                   = line: new ( z.B, z.T_b)
   z.G                  = intersection (la,lb)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPoints[new](J_a,J_b,J_c)
   \tkzClipBB
   \tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
   \tkzDrawLines[add=1 and 1](A,B B,C C,A)
   \tkzDrawSegments[new](A,T_a B,T_b C,T_c)
   \tkzDrawSegments[new](J_a,T_a J_b,T_b J_c,T_c)
   \tkzDrawPolygon(A,B,C)
   \tkzDrawPolygon[new](T_a,T_b,T_c)
   \tkzDrawPoints(A,B,C,K)
   \tkzDrawPoints[new](T_a,T_b,T_c)
   \tkzLabelPoints[below left](A)
   \tkzLabelPoints[below](B)
   \tkzLabelPoints[above](C)
   \tkzLabelPoints[new,below left](T_b)
   \tkzLabelPoints[new,below right](T_c)
   \tkzLabelPoints[new,right=6pt](T_a)
   \tkzMarkRightAngles[fill=gray!15](J_a,T_a,B J_b,T_b,C J_c,T_c,A)
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
   scale=0.7
   z.A    = point: new (0,0)
   z.B    = point: new (6,0)
   z.C    = point: new (.8,4)
   T      = triangle: new ( z.A, z.B, z.C)
   z.K    = T.centroid
   z.J_a,z.J_b,z.J_c  = get_points (T: excentral())
   z.T_a,z.T_b,z.T_c  = get_points (T: extouch())
   la     = line: new ( z.A, z.T_a)
   lb     = line: new ( z.B, z.T_b)
   z.G    = intersection (la,lb)
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPoints[new](J_a,J_b,J_c)
  \tkzClipBB
  \tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
  \tkzDrawLines[add=1 and 1](A,B B,C C,A)
  \tkzDrawSegments[new](A,T_a B,T_b C,T_c)
  \tkzDrawSegments[new](J_a,T_a J_b,T_b J_c,T_c)
  \tkzDrawPolygon(A,B,C)
  \tkzDrawPolygon[new](T_a,T_b,T_c)
  \tkzDrawPoints(A,B,C,K)
  \tkzDrawPoints[new](T_a,T_b,T_c)
  \tkzLabelPoints[below left](A)
  \tkzLabelPoints[below](B)
  \tkzLabelPoints[above](C)
  \tkzLabelPoints[new,below left](T_b)
  \tkzLabelPoints[new,below right](T_c)
  \tkzLabelPoints[new,right=6pt](T_a)
  \tkzMarkRightAngles[fill=gray!15](J_a,T_a,B J_b,T_b,C J_c,T_c,A)
  \end{tikzpicture}
\end{center}


% subsection excircles (end)


\subsection{Divine ratio} % (fold)
\label{sub:divine_ratio}

\begin{Verbatim}
\begin{tkzelements}
z.A         = point: new (0 , 0)
z.B         = point: new (8 , 0)
L.AB        = line: new (z.A,z.B)
z.C         = L.AB: gold_ratio ()
L.AC        = line: new (z.A,z.C)
z.O_1       = L.AC.mid
_,_,z.G,z.H = get_points(L.AB: square ())
_,_,z.E,z.F = get_points(L.AC: square ())
L.CB        = line: new (z.C,z.B)
z.O_2       = L.CB.mid
z.O_0       = L.AB.mid
L.BE        = line: new (z.B,z.E)
L.GH        = line: new (z.G,z.H)
z.K         = intersection (L.BE,L.GH)
C0          = circle: new (z.O_0,z.B)
z.R,_       = intersection (L.BE,C0)
C2          = circle: new (z.O_2,z.B)
z.S,_       = intersection (L.BE,C2)
L.AR        = line:   new (z.A,z.R)
C1          = circle: new (z.O_1,z.C)
_,z.T       = intersection (L.AR,C1)
L.BG        = line: new (z.B,z.G)
z.L         = intersection (L.AR,L.BG)
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygons(A,C,E,F A,B,G,H)
\tkzDrawCircles(O_1,C O_2,B O_0,B)
\tkzDrawSegments(H,C B,K A,L)
\tkzDrawPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
\tkzLabelPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
z.A = point: new (0 , 0)
z.B = point: new (8 , 0)
L.AB    = line: new (z.A,z.B)
z.C = L.AB: gold_ratio ()
L.AC    = line: new (z.A,z.C)
z.O_1   = L.AC.mid
_,_,z.G,z.H = get_points(L.AB: square ())
_,_,z.E,z.F = get_points(L.AC: square ())
L.CB    = line: new (z.C,z.B)
z.O_2   = L.CB.mid
z.O_0   = L.AB.mid
L.BE    = line: new (z.B,z.E)
L.GH    = line: new (z.G,z.H)
z.K = intersection (L.BE,L.GH)
C0  = circle: new (z.O_0,z.B)
z.R,_   = intersection (L.BE,C0)
C2  = circle: new (z.O_2,z.B)
z.S,_   = intersection (L.BE,C2)
L.AR    = line:   new (z.A,z.R)
C1  = circle: new (z.O_1,z.C)
_,z.T   = intersection (L.AR,C1)
L.BG    = line: new (z.B,z.G)
z.L = intersection (L.AR,L.BG)
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygons(A,C,E,F A,B,G,H)
  \tkzDrawCircles(O_1,C O_2,B O_0,B)
  \tkzDrawSegments(H,C B,K A,L)
  \tkzDrawPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
  \tkzLabelPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
  \end{tikzpicture}
\end{center}


% subsection divine_ratio (end)

\subsection{Director circle} % (fold)
\label{sub:director_circle}
% modif C: point (0.25) instead of 2
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
  scale    = .5
  z.O      = point: new (0 , 0)
  z.F1     = point: new (4 , 0)
  z.F2     = point: new (-4 , 0)
  z.H      = point: new (4*math.sqrt(2) , 0)
  E        = ellipse: foci (z.F2,z.F1,z.H)
  a,b      = E.Rx, E.Ry
  z.A      = E.covertex
  T        = triangle: new (z.H,z.O,z.A)
  z.P      = T: parallelogram ()
  C        = circle: new (z.O,z.P)
  z.L      = C: point (0.25)
  L.J,L.K  = E: tangent_from (z.L)
  z.J      = L.J.pb
  z.K      = L.K.pb
\end{tkzelements}
\begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPoints(F1,F2,O)
  \tkzDrawCircles[teal](O,P)
  \tkzDrawPolygon(H,O,A,P)
  \tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0)
  \tkzDrawSegments[orange](O,P O,L L,J L,K)
  \tkzDrawPoints(F1,F2,O,H,A,P,L,J,K)
  \tkzLabelPoints(F1,F2,O,H,A,P,L,J,K)
  \tkzLabelPoints[above](L)
  \tkzMarkRightAngles(A,P,H J,L,K)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
scale = .5
z.O   = point: new (0 , 0)
z.F1  = point: new (4 , 0)
z.F2  = point: new (-4 , 0)
z.H   = point: new (4*math.sqrt(2) , 0)
E     = ellipse: foci (z.F2,z.F1,z.H)
a,b   = E.Rx, E.Ry
z.A   = E.covertex
T     = triangle: new (z.H,z.O,z.A)
z.P   = T: parallelogram ()
C     = circle: new (z.O,z.P)
z.L   = C: point (0.25)
L.J,L.K  = E: tangent_from (z.L)
z.J      = L.J.pb
z.K      = L.K.pb
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPoints(F1,F2,O)
  \tkzDrawCircles[teal](O,P)
  \tkzDrawPolygon(H,O,A,P)
  \tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0)
  \tkzDrawSegments[orange](O,P O,L L,J L,K)
  \tkzDrawPoints(F1,F2,O,H,A,P,L,J,K)
  \tkzLabelPoints(F1,F2,O,H,A,P,L,J,K)
  \tkzLabelPoints[above](L)
  \tkzMarkRightAngles(A,P,H J,L,K)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection director_circle (end)


\subsection{Gold division} % (fold)
\label{sub:gold_division}

\begin{Verbatim}
\begin{tkzelements}
z.A         = point:  new (0,0)
z.B         = point:  new (2.5,0)
L.AB        = line:   new (z.A,z.B)
C.AB        = circle: new (z.A,z.B)
C.BA        = circle: new (z.B,z.A)
z.J         = L.AB: midpoint ()
L.JB        = line:new (z.J,z.B)
z.F,z.E     = intersection (C.AB , C.BA)
z.I,_       = intersection (L.AB , C.BA)
z.K         = L.JB : midpoint ()
L.mediator  = L.JB: mediator ()
z.G         = intersection (L.mediator,C.BA)
L.EG        = line:new (z.E,z.G)
z.C         = intersection  (L.EG,L.AB)
z.O         = C.AB: antipode (z.B)
\end{tkzelements}
   \begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawArc[delta=5](O,B)(G)
   \tkzDrawCircles(A,B B,A)
   \tkzDrawSegments(A,E B,E O,I)
   \tkzDrawSegments[purple](J,E A,G G,I K,G E,G)
   \tkzMarkSegments[mark=s||](A,E B,E O,A)
   \tkzDrawPoints(A,B,C,E,I,J,G,O,K)
   \tkzLabelPoints(A,B,C,E,I,J,G,O,K)
   \end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
z.A     = point:  new (0,0)
z.B     = point:  new (2.5,0)
L.AB    = line:   new (z.A,z.B)
C.AB    = circle: new (z.A,z.B)
C.BA    = circle: new (z.B,z.A)
z.J     = L.AB: midpoint ()
L.JB    = line:new (z.J,z.B)
z.F,z.E = intersection (C.AB , C.BA)
z.I,_   = intersection (L.AB , C.BA)
z.K     = L.JB : midpoint ()
L.mediator  = L.JB: mediator ()
z.G   = intersection (L.mediator,C.BA)
L.EG    = line:new (z.E,z.G)
z.C     = intersection  (L.EG,L.AB)
z.O     = C.AB: antipode (z.B)
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
     \tkzGetNodes
     \tkzDrawArc[delta=5](O,B)(G)
     \tkzDrawCircles(A,B B,A)
     \tkzDrawSegments(A,E B,E O,I)
     \tkzDrawSegments[purple](J,E A,G G,I K,G E,G)
     \tkzMarkSegments[mark=s||](A,E B,E O,A)
     \tkzDrawPoints(A,B,C,E,I,J,G,O,K)
     \tkzLabelPoints(A,B,C,E,I,J,G,O,K)
  \end{tikzpicture}
\end{center}


% subsection gold_division (end)

\subsection{Ellipse} % (fold)
\label{sub:ellipse}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
   z.C       = point: new (3 , 2)
   z.A       = point: new (5 , 1)
   L.CA      = line : new (z.C,z.A)
   z.b       = L.CA.north_pa
   L         = line : new (z.C,z.b)
   z.B       = L : point (0.5)
   E         = ellipse: new (z.C,z.A,z.B)
   a         = E.Rx
   b         = E.Ry
   slope     = math.deg(E.slope)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles[teal](C,A)
   \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
   \tkzDrawPoints(C,A,B,b)
   \tkzLabelPoints(C,A,B)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
z.C  = point: new (3 , 2)
z.A  = point: new (5 , 1)
L.CA = line : new (z.C,z.A)
z.b  = L.CA.north_pa
L    = line : new (z.C,z.b)
z.B  = L : point (0.5)
E    = ellipse: new (z.C,z.A,z.B)
a    = E.Rx
b    = E.Ry
slope    = math.deg(E.slope)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles[teal](C,A)
 \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
  \tkzDrawPoints(C,A,B,b)
  \tkzLabelPoints(C,A,B)
  \end{tikzpicture}
\end{center}


\end{minipage}
 % subsection ellipse (end)

\subsection{Ellipse with radii} % (fold)
\label{sub:ellipse_with_radii}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
scale=.5
z.C    = point: new (0 , 4)
b      = value(math.sqrt(8))
a      = value(math.sqrt(32))
ang    = math.deg(math.pi/4)
E      = ellipse: radii (z.C,a,b,math.pi/4)
z.V    = E : point (0)
z.CoV  = E : point (math.pi/2)
\end{tkzelements}  
\begin{tikzpicture}[gridded]
\tkzGetNodes
\tkzDrawEllipse[blue](C,\tkzUseLua{a},
              \tkzUseLua{b},\tkzUseLua{ang})
\tkzDrawPoints(C,V,CoV)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
scale=.5
z.C    = point: new (0 , 4)
b      = value(math.sqrt(8))
a      = value(math.sqrt(32))
ang    = math.deg(math.pi/4)
E      = ellipse: radii (z.C,a,b,math.pi/4)
z.V    = E : point (0)
z.CoV  = E : point (math.pi/2)
\end{tkzelements}  


\begin{center}
  \begin{tikzpicture}[gridded]
  \tkzGetNodes
  \tkzDrawEllipse[blue](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
  \tkzDrawPoints(C,V,CoV)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection ellipse_with_radii (end)

\subsection{Ellipse\_with\_foci} % (fold)
\label{sub:ellipse_with_foci}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
   local e
   e           = .8
   z.A         = point: new (2 , 3)
   z.B         = point: new (5 , 4)
   z.K         = point: new (6, 7)  
   L.AB        = line: new (z.A,z.B)
   z.C         = L.AB.mid
   c           = point.abs(z.B-z.C)
   a           = c/e
   b           = math.sqrt (a^2-c^2)  
   z.V         = z.C + a*(z.B-z.C)/point.abs(z.B-z.C)   
   E           = ellipse: foci (z.A,z.B,z.V)
   z.cV        = E.covertex 
   ang         = math.deg(E.slope)
   L.ta,L.tb   = E: tangent_from (z.K)
   z.F         = L.ta.pb
   z.G         = L.tb.pb
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPoints(A,B,C,K,F,G,V,cV)
   \tkzLabelPoints(A,B,C,K,F,G,V,cV)
   \tkzDrawEllipse[teal](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
   \tkzDrawLines(K,F K,G)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
local e
e           = .8
z.A         = point: new (2 , 3)
z.B         = point: new (5 , 4)
z.K         = point: new (6, 7)  
L.AB        = line: new (z.A,z.B)
z.C         = L.AB.mid
c           = point.abs(z.B-z.C)
a           = c/e
b           = math.sqrt (a^2-c^2)  
z.V         = z.C + a*(z.B-z.C)/point.abs(z.B-z.C)   
E           = ellipse: foci (z.A,z.B,z.V)
z.cV        = E.covertex 
ang         = math.deg(E.slope)
L.ta,L.tb   = E: tangent_from (z.K)
z.F         = L.ta.pb
z.G         = L.tb.pb
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
    \tkzGetNodes
    \tkzDrawPoints(A,B,C,K,F,G,V,cV)
    \tkzLabelPoints(A,B,C,K,F,G,V,cV)
  \tkzDrawEllipse[teal](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
    \tkzDrawLines(K,F K,G)
  \end{tikzpicture}
\end{center}


 \end{minipage}
% subsection ellipse_with_foci (end)

\subsection{Euler relation} % (fold)
\label{sub:euler_relation}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
 scale      =  .75
 z.A        = point: new (0 , 0)
 z.B        = point: new (5 , 0)
 z.C        = point: new (-.4 , 4)
 T.ABC      = triangle: new (z.A,z.B,z.C)
 z.J,z.K    = get_points(T.ABC: ex_circle (2))
 z.X,z.Y,z.K= T.ABC : projection (z.J)
 z.I,z.H    = get_points(T.ABC : in_circle())
 z.O        = T.ABC.circumcenter
 C.OA       = circle : new (z.O,z.A)
 T.IBA      = triangle: new (z.I,z.B,z.A)
 z.w        = T.IBA.circumcenter
 L.Ow       = line : new (z.O,z.w)
 _,z.E      = intersection (L.Ow, C.OA)
\end{tkzelements}
   \begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawArc(J,X)(Y)
   \tkzDrawCircles(I,H O,A)
   \tkzDrawCircle[red](w,I)
   \tkzDrawLines(Y,C A,B X,C E,w E,B)
   \tkzDrawSegments[blue](J,C J,K I,H I,O w,B)
   \tkzDrawPoints(A,B,C,I,J,E,w,H,K,O)
   \tkzLabelPoints(A,B,C,J,I,w,H,K,E,O)
   \tkzMarkRightAngles[fill=gray!20,opacity=.4](C,H,I A,K,J)
   \end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
z.A   = point: new (0 , 0)
z.B   = point: new (5 , 0)
   z.C    = point: new (-.4 , 4)
T.ABC     = triangle: new (z.A,z.B,z.C)
z.J,z.K   = get_points(T.ABC: ex_circle (2))
z.X ,z.Y,z.K  = T.ABC : projection (z.J)
z.I,z.H   = get_points(T.ABC : in_circle())
z.O   = T.ABC.circumcenter
C.OA      = circle : new (z.O,z.A)
T.IBA     = triangle: new (z.I,z.B,z.A)
z.w   = T.IBA.circumcenter
L.Ow      = line : new (z.O,z.w)
_,z.E     = intersection (L.Ow, C.OA)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawArc(J,X)(Y)
  \tkzDrawCircles(I,H O,A)
  \tkzDrawCircle[red](w,I)
  \tkzDrawLines(Y,C A,B X,C E,w E,B)
  \tkzDrawSegments[blue](J,C J,K I,H I,O w,B)
  \tkzDrawPoints(A,B,C,I,J,E,w,H,K,O)
  \tkzLabelPoints(A,B,C,J,I,w,H,K,E,O)
  \tkzMarkRightAngles[fill=gray!20,opacity=.4](C,H,I A,K,J)
  \end{tikzpicture}
\end{center}


\end{minipage}
% subsection euler_relation (end)

\subsection{External angle} % (fold)
\label{sub:external_angle}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
  scale  = .75
  z.A    = point: new (0 , 0)
  z.B    = point: new (5 , 0)
  z.C    = point: new (-2 , 4)
  T.ABC  = triangle: new (z.A,z.B,z.C)
  T.ext  = T.ABC: excentral ()
  z.O    = T.ABC.circumcenter
  z.D    = intersection (T.ext.ab,T.ABC.ab)
  z.E    = z.C: symmetry (z.B)
\end{tkzelements}
\begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygon(A,B,C)
  \tkzDrawLine[purple,add=0 and .5](B,C)
  \tkzDrawSegment[purple](A,D)
  \tkzDrawSegment[orange](C,D)
  \tkzFillAngles[purple!30,opacity=.2](D,C,A E,C,D)
  \tkzMarkAngles[mark=|](D,C,A E,C,D)
  \tkzDrawPoints(A,...,D)
  \tkzLabelPoints[above](C)
  \tkzLabelPoints(A,B,D)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
scale    = .75
z.A      = point: new (0 , 0)
z.B      = point: new (5 , 0)
z.C      = point: new (-2 , 4)
T.ABC    = triangle: new (z.A,z.B,z.C)
T.ext    = T.ABC: excentral ()
z.O      = T.ABC.circumcenter
z.D      = intersection (T.ext.ab,T.ABC.ab)
z.E      = z.C: symmetry (z.B)
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygon(A,B,C)
  \tkzDrawLine[purple,add=0 and .5](B,C)
  \tkzDrawSegment[purple](A,D)
  \tkzDrawSegment[orange](C,D)
  \tkzFillAngles[purple!30,opacity=.2](D,C,A E,C,D)
  \tkzMarkAngles[mark=|](D,C,A E,C,D)
  \tkzDrawPoints(A,...,D)
  \tkzLabelPoints[above](C)
  \tkzLabelPoints(A,B,D)
  \end{tikzpicture}
\end{center}


\end{minipage}
% subsection external_angle (end)

\subsection{Internal angle} % (fold)
\label{sub:internal_angle}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
   scale =  .8
   z.A   = point: new (0 , 0)
   z.B   = point: new (6 , 0)
   z.C   = point: new (1 , 5)
   T     = triangle: new (z.A,z.B,z.C)
   z.I   = T.incenter
   L.AI  = line: new (z.A,z.I)
   z.D   = intersection (L.AI, T.bc)
   L.LL  = T.ab: ll_from (z.C)
   L.AD  = line: new (z.A,z.D)
   z.E   = intersection (L.LL,L.AD)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPolygon(A,B,C)
   \tkzDrawLine[purple](C,E)
   \tkzDrawSegment[purple](A,E)
   \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D) 
   \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)    
   \tkzDrawPoints(A,...,E) 
   \tkzLabelPoints(A,B)   
   \tkzLabelPoints[above](C,D,E) 
   \tkzMarkSegments(A,C C,E)   
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
scale =.8
z.A = point: new (0 , 0)
z.B = point: new (6 , 0)
z.C = point: new (1 , 5)
T   = triangle: new (z.A,z.B,z.C)
z.I = T.incenter
L.AI    = line: new (z.A,z.I)
z.D = intersection (L.AI, T.bc)
L.LL    = T.ab: ll_from (z.C)
L.AD    = line: new (z.A,z.D)
z.E = intersection (L.LL,L.AD)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygon(A,B,C)
  \tkzDrawLine[purple](C,E)
  \tkzDrawSegment[purple](A,E)
  \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D) 
  \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)    
  \tkzDrawPoints(A,...,E) 
  \tkzLabelPoints(A,B)   
  \tkzLabelPoints[above](C,D,E) 
  \tkzMarkSegments(A,C C,E)   
  \end{tikzpicture}
\end{center}

\end{minipage}
%subsection internal_angle (end)

\subsection{Feuerbach theorem} % (fold)
\label{sub:nine_points}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
   scale     =  1.5
   z.A       = point: new (0 , 0)
   z.B       = point: new (5 , -.5)
   z.C       = point: new (-.5 , 3)
   T.ABC     = triangle: new (z.A,z.B,z.C)
   z.O       = T.ABC.circumcenter
   z.N       = T.ABC.eulercenter
   z.I,z.K   = get_points(T.ABC: in_circle())
   z.H       = T.ABC.ab : projection (z.I)
   z.Ap,
   z.Bp,
   z.Cp      = get_points (T.ABC : medial ())
   C.IH      = circle:new (z.I,z.H)
   C.NAp     = circle:new (z.N,z.Ap)
   C.OA      = circle:new (z.O,z.A)
   z.U       = C.OA.south
   z.L       = C.NAp.south
   z.M       = C.NAp.north
   z.X       = T.ABC.ab: projection (z.C)
   L.CU      = line: new (z.C,z.U)
   L.ML      = line: new (z.M,z.L)
   z.P       = L.CU: projection (z.A)
   z.Q       = L.CU: projection (z.B)
   L.LH      = line: new (z.L,z.H)
   z.F       = intersection (L.LH,C.IH) -- feuerbach
\end{tkzelements}

\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawLine(L,F)
   \tkzDrawCircle[red](N,A')
   \tkzDrawCircle[blue](I,H)
   \tkzDrawCircles[teal](O,A L,C')
   \tkzDrawSegments(M,L B,U Q,C C,X A,P B,Q)
   \tkzDrawPolygons(A,B,C A',B',C')
   \tkzDrawPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
   \tkzLabelPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
scale  =  1
z.A    = point: new (0 , 0)
z.B    = point: new (5 , -.5)
z.C    = point: new (-.5 , 3)
T.ABC  = triangle: new (z.A,z.B,z.C)
z.O    = T.ABC.circumcenter
z.N    = T.ABC.eulercenter
z.I,z.K    = get_points(T.ABC: in_circle())
z.H = T.ABC.ab : projection (z.I)
z.Ap,z.Bp,z.Cp = get_points (T.ABC : medial ())
C.IH   = circle:new (z.I,z.H)
C.NAp  = circle:new (z.N,z.Ap)
C.OA   = circle:new (z.O,z.A)
z.U    = C.OA.south
z.L    = C.NAp.south
z.M    = C.NAp.north
z.X    = T.ABC.ab: projection (z.C)
L.CU   = line: new (z.C,z.U)
L.ML   = line: new (z.M,z.L)
z.P    = L.CU: projection (z.A)
z.Q    = L.CU: projection (z.B)
L.LH   = line: new (z.L,z.H)
z.F  = intersection (L.LH,C.IH) -- feuerbach
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}[rotate=90]
  \tkzGetNodes
  \tkzDrawLine(L,F)
  \tkzDrawCircle[red](N,A')
  \tkzDrawCircle[blue](I,H)
  \tkzDrawCircles[teal](O,A L,C')
  \tkzDrawSegments(M,L B,U Q,C C,X A,P B,Q)
  \tkzDrawPolygons(A,B,C A',B',C')
  \tkzDrawPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
  \tkzLabelPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
  \end{tikzpicture}
\end{center}
   
\end{minipage}
% subsection nine_points (end)

\subsection{Gold ratio with segment} % (fold)
\label{sub:gold_ratio_with_segment}
\begin{minipage}{.5\textwidth}
 \begin{Verbatim}
\begin{tkzelements}
   z.A      = point: new (0 , 0)
   z.B      = point: new (8 , 0)
   L.AB     = line: new (z.A,z.B)
   _,_,z.X,z.Y = get_points(L.AB: square ())
   L.BX     = line: new (z.B,z.X)
   z.M      = L.BX.mid
   C.MA     = circle: new (z.M,z.A)
   _,z.K    = intersection (L.BX,C.MA)
   L.AK     = line: new (z.Y,z.K)
   z.C      = intersection (L.AK,L.AB)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawLines(A,B X,K)
   \tkzDrawLine[teal](Y,K)
   \tkzDrawPoints(A,B,C,X,Y,M,K)
   \tkzDrawArc[delta=20](M,A)(K)
   \tkzLabelPoints(A,B,C)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
scale = .5
z.A = point: new (0 , 0)
z.B = point: new (8 , 0)
L.AB    = line: new (z.A,z.B)
_,_,z.X,z.Y = get_points(L.AB: square ())
L.BX    = line: new (z.B,z.X)
z.M = L.BX.mid
C.MA    = circle: new (z.M,z.A)
_,z.K   = intersection (L.BX,C.MA)
L.AK    = line: new (z.Y,z.K)
z.C = intersection (L.AK,L.AB)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawLines(A,B X,K)
  \tkzDrawLine[teal](Y,K)
  \tkzDrawPoints(A,B,C,X,Y,M,K)
  \tkzDrawArc[delta=20](M,A)(K)
  \tkzLabelPoints(A,B,C)
  \end{tikzpicture}
\end{center}

\end{minipage}
%subsection gold_ratio_with_segment (end)

\subsection{Gold Arbelos} % (fold)
\label{sub:gold_arbelos}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
   scale    = .6
   z.A      = point: new (0 , 0)
   z.C      = point: new (6 , 0)
   L.AC     = line: new (z.A,z.C)
   _,_,z.x,z.y  = get_points(L.AC: square ())
   z.O_1    = L.AC . mid
   C        = circle: new (z.O_1,z.x)
   z.B      = intersection (L.AC,C)
   L.CB     = line: new (z.C,z.B)
   z.O_2    = L.CB.mid
   L.AB     = line: new (z.A,z.B)
   z.O_0    = L.AB.mid
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(O_1,C O_2,B O_0,B)
   \tkzDrawPoints(A,C,B,O_1,O_2,O_0)
   \tkzLabelPoints(A,C,B)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
scale    = .4
z.A  = point: new (0 , 0)
z.C  = point: new (6 , 0)
L.AC = line: new (z.A,z.C)
_,_,z.x,z.y  = get_points(L.AC: square ())
z.O_1    = L.AC . mid
C    = circle: new (z.O_1,z.x)
z.B  = intersection (L.AC,C)
L.CB = line: new (z.C,z.B)
z.O_2    = L.CB.mid
L.AB = line: new (z.A,z.B)
z.O_0    = L.AB.mid
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles(O_1,C O_2,B O_0,B O_1,x)
  \tkzDrawPoints(A,C,B,O_1,O_2,O_0,x)
  \tkzLabelPoints[below right](A,C,B)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection gold_arbelos (end)

\subsection{Harmonic division v1} % (fold)
\label{sub:harmonic_division_v1}
\begin{minipage}[t]{.4\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
 scale=.75
 z.A  = point: new (0 , 0)
 z.B  = point: new (4 , 0)
 z.G  = point: new (2,2)
 L.AG = line : new (z.A,z.G)
 L.AB = line : new (z.A,z.B)
 z.E = L.AG : colinear_at (z.B,.5)
 L.GE = line : new (z.G,z.E)
 z.D  = intersection (L.GE,L.AB)
 z.F = z.B : symmetry (z.E)
 L.GF = line :new (z.G,z.F)
 z.C  = intersection (L.GF,L.AB)
\end{tkzelements}
\begin{tikzpicture}
 \tkzGetNodes
 \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D)
 \tkzDrawPoints(A,B,G,E,F,C,D) 
 \tkzLabelPoints(A,B,G,E,F,C,D)
 \tkzMarkSegments(F,B B,E)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.6\textwidth}\vspace{0pt}%
\begin{tkzelements}
 scale=.75
 z.A  = point: new (0 , 0)
 z.B  = point: new (4 , 0)
 z.G  = point: new (2,2)
 L.AG = line : new (z.A,z.G)
 L.AB = line : new (z.A,z.B)
 z.E = L.AG : colinear_at (z.B,.5)
 L.GE = line : new (z.G,z.E)
 z.D  = intersection (L.GE,L.AB)
 z.F = z.B : symmetry (z.E)
 L.GF = line :new (z.G,z.F)
 z.C  = intersection (L.GF,L.AB)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D)
   \tkzDrawPoints(A,B,G,E,F,C,D) 
   \tkzLabelPoints(A,B,G,E,F,C,D)
   \tkzMarkSegments(F,B B,E)
  \end{tikzpicture}
\end{center}
\end{minipage}
% subsection harmonic_division_v1 (end)

\subsection{Harmonic division v2} % (fold)
\label{sub:harmonic_division_v2}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
scale = .5
z.A    = point: new (0 , 0)
z.B    = point: new (6 , 0)
z.D    = point: new (12 , 0)
L.AB   = line: new (z.A,z.B)
z.X    = L.AB.north_pa
L.XB   = line: new (z.X,z.B)
z.E    = L.XB.mid
L.ED   = line: new (z.E,z.D)
L.AX   = line: new (z.A,z.X)
L.AE   = line: new (z.A,z.E)
z.F    = intersection (L.ED,L.AX)
L.BF   = line: new (z.B,z.F)
z.G    = intersection (L.AE,L.BF)
L.GX   = line: new (z.G,z.X)
z.C    = intersection (L.GX,L.AB)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawLines(A,D A,E B,F D,F X,A X,B X,C)
   \tkzDrawPoints(A,...,G,X)
   \tkzLabelPoints(A,...,G,X)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
scale = .5
z.A    = point: new (0 , 0)
z.B    = point: new (6 , 0)
z.D    = point: new (12 , 0)
L.AB   = line: new (z.A,z.B)
z.X    = L.AB.north_pa
L.XB   = line: new (z.X,z.B)
z.E    = L.XB.mid
L.ED   = line: new (z.E,z.D)
L.AX   = line: new (z.A,z.X)
L.AE   = line: new (z.A,z.E)
z.F    = intersection (L.ED,L.AX)
L.BF   = line: new (z.B,z.F)
z.G    = intersection (L.AE,L.BF)
L.GX   = line: new (z.G,z.X)
z.C    = intersection (L.GX,L.AB)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawLines(A,D A,E B,F D,F X,A X,B X,C)
  \tkzDrawPoints(A,...,G,X)
  \tkzLabelPoints(A,...,G,X)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection harmonic_division_v2 (end)

\subsection{Menelaus} % (fold)
\label{sub:menelaus}
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
\begin{tkzelements}
   z.A  = point: new (0 , 0)
   z.B  = point: new (6 , 0)
   z.C  = point: new (5 , 4)
   z.P  = point: new (-1 , 0)
   z.X  = point: new (6 , 3)
   L.AC = line: new (z.A,z.C)
   L.PX = line: new (z.P,z.X)
   L.BC = line: new (z.B,z.C)
   z.Q  = intersection (L.AC,L.PX)
   z.R  = intersection (L.BC,L.PX)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPolygon(A,B,C)
   \tkzDrawLine[new](P,R)
   \tkzDrawLines(P,B A,C B,C)
   \tkzDrawPoints(P,Q,R,A,B,C)
   \tkzLabelPoints(A,B,C,P,Q,R)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
\begin{tkzelements}
z.A   = point: new (0 , 0)
z.B   = point: new (6 , 0)
z.C   = point: new (5 , 4)
z.P   = point: new (-1 , 0)
z.X   = point: new (6 , 3)
L.AC  = line: new (z.A,z.C)
L.PX  = line: new (z.P,z.X)
L.BC  = line: new (z.B,z.C)
z.Q   = intersection (L.AC,L.PX)
z.R   = intersection (L.BC,L.PX)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygon(A,B,C)
  \tkzDrawLine[new](P,R)
  \tkzDrawLines(P,B A,C B,C)
  \tkzDrawPoints(P,Q,R,A,B,C)
  \tkzLabelPoints(A,B,C,P,Q,R)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection menelaus (end)


 
\subsection{Euler ellipse} % (fold)
\label{sub:hexagram}
\begin{tkzelements}
  scale =1.3
z.A      = point: new (0 , 0)
z.B      = point: new (5 , 1)
L.AB     = line : new (z.A,z.B)
z.C      = point: new (.8 , 3)
T.ABC    = triangle: new (z.A,z.B,z.C)
z.N       = T.ABC.eulercenter
z.G       = T.ABC.centroid
z.O       = T.ABC.circumcenter
z.H       = T.ABC.orthocenter
z.Ma,z.Mb,z.Mc = get_points (T.ABC : medial ())
z.Ha,z.Hb,z.Hc = get_points (T.ABC : orthic ())   
z.Ea,z.Eb,z.Ec   = get_points (T.ABC: extouch())
L.euler      = T.ABC : euler_line () 
C.circum     = T.ABC : circum_circle () 
C.euler      = T.ABC : euler_circle () 
z.I,z.J      = intersection (L.euler,C.euler) 
E = ellipse: foci (z.H,z.O,z.I)  
a = E.Rx
b = E.Ry
ang     = math.deg(E.slope)
L.AH    = line: new (z.A,z.H)
L.BH    = line: new (z.B,z.H)
L.CH    = line: new (z.C,z.H)
z.X     = intersection (L.AH,C.circum)  
_,z.Y   = intersection (L.BH,C.circum)  
_,z.Z   = intersection (L.CH,C.circum)  
L.BC    = line: new (z.B,z.C) 
L.XO    = line: new (z.X,z.O)
L.YO    = line: new (z.Y,z.O)
L.ZO    = line: new (z.Z,z.O)
z.x     = intersection (L.BC,L.XO)
z.U     = intersection (L.XO,E)
_,z.V   = intersection (L.YO,E)
_,z.W   = intersection (L.ZO,E) 
\end{tkzelements}

\begin{minipage}{.4\textwidth}
\begin{Verbatim}
\begin{tkzelements}
  scale     = 1.3
  z.A       = point: new (0 , 0)
  z.B       = point: new (5 , 1)
  L.AB      = line : new (z.A,z.B)
  z.C       = point: new (.8 , 3)
  T.ABC     = triangle: new (z.A,z.B,z.C)
  z.N       = T.ABC.eulercenter
  z.G       = T.ABC.centroid
  z.O       = T.ABC.circumcenter
  z.H       = T.ABC.orthocenter
  z.Ma,z.Mb,
  z.Mc      = get_points(T.ABC:medial ())
  z.Ha,z.Hb,
  z.Hc      = get_points(T.ABC:orthic ())   
  z.Ea,z.Eb,
  z.Ec      = get_points(T.ABC:extouch())
  L.euler   = T.ABC : euler_line () 
  C.circum  = T.ABC : circum_circle () 
  C.euler   = T.ABC : euler_circle () 
  z.I,z.J   = intersection (L.euler,C.euler) 
  E         = ellipse: foci (z.H,z.O,z.I)  
  a         = E.Rx
  b         = E.Ry
  ang       = math.deg(E.slope)
  L.AH      = line: new (z.A,z.H)
  L.BH      = line: new (z.B,z.H)
  L.CH      = line: new (z.C,z.H)
  z.X       = intersection (L.AH,C.circum)  
  _,z.Y     = intersection (L.BH,C.circum)  
  _,z.Z     = intersection (L.CH,C.circum)  
  L.BC      = line: new (z.B,z.C) 
  L.XO      = line: new (z.X,z.O)
  L.YO      = line: new (z.Y,z.O)
  L.ZO      = line: new (z.Z,z.O)
  z.x       = intersection (L.BC,L.XO)
  z.U       = intersection (L.XO,E)
  _,z.V     = intersection (L.YO,E)
  _,z.W     = intersection (L.ZO,E)
\end{tkzelements}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygon(A,B,C)
  \tkzDrawCircles[red](N,Ma O,A)
  \tkzDrawSegments(A,X B,Y C,Z B,Hb C,Hc X,O Y,O Z,O)
  \tkzDrawPolygon[red](U,V,W)
  \tkzLabelPoints[red](U,V,W)
  \tkzLabelPoints(A,B,C,X,Y,Z)
  \tkzDrawLine[blue](I,J)
  \tkzLabelPoints[blue,right](O,N,G,H,I,J)
  \tkzDrawPoints(I,J,U,V,W)
  \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
  \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
  \end{tikzpicture}
\end{center}
\end{minipage}

\begin{Verbatim}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPolygon(A,B,C)
   \tkzDrawCircles[red](N,Ma O,A)
   \tkzDrawSegments(A,X B,Y C,Z B,Hb C,Hc X,O Y,O Z,O)
   \tkzDrawPolygon[red](U,V,W)
   \tkzLabelPoints[red](U,V,W)
   \tkzLabelPoints(A,B,C,X,Y,Z)
   \tkzDrawLine[blue](I,J)
   \tkzLabelPoints[blue,right](O,N,G,H,I,J)
   \tkzDrawPoints(I,J,U,V,W)
   \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)  
  \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\end{tikzpicture}
\end{Verbatim}

% subsection hexagram (end)

\subsection{Gold Arbelos properties} % (fold)
\label{sub:gold_arbelos_properties}

\begin{tkzelements}
scale = .7
z.A  = point : new(0,0)
z.B  = point : new(10,0)
z.C  = gold_segment_ (z.A,z.B)
L.AB = line:new (z.A,z.B)
z.O_1    = L.AB.mid
L.AC = line:new (z.A,z.C)
z.O_2    = L.AC.mid
L.CB = line:new (z.C,z.B)
z.O_3    = L.CB.mid
C1   = circle:new (z.O_1,z.B)
C2   = circle:new (z.O_2,z.C)
C3   = circle:new (z.O_3,z.B)
z.Q  = C2.north
z.P  = C3.north
L1   = line:new (z.O_2,z.O_3)
z.M_0    = L1:harmonic_ext (z.C)
L2   = line:new (z.O_1,z.O_2)
z.M_1    = L2:harmonic_int (z.A)
L3   = line:new (z.O_1,z.O_3)
z.M_2    = L3:harmonic_int (z.B)
Lbq  = line:new (z.B,z.Q)
Lap  = line:new (z.A,z.P)
z.S  = intersection (Lbq,Lap)
z.x  = z.C: north ()
L    = line : new (z.C,z.x)
z.D,_    = intersection (L,C1)
L.CD = line :new (z.C,z.D)
z.O_7    = L.CD.mid
C.DC = circle: new (z.D,z.C)
z.V,z.U  = intersection (C.DC,C1)
L.UV = line :new (z.U,z.V)
z.R ,z.S = L.UV : projection (z.O_2,z.O_3)
L.O1D    = line : new (z.O_1,z.D)
z.W  = intersection (L.UV,L.O1D)
z.O  = C.DC : inversion (z.W)
\end{tkzelements}

\begin{minipage}{.4\textwidth}
\begin{Verbatim}
\begin{tkzelements}
  z.A      = point : new(0,0)
  z.B      = point : new(10,0)
  z.C      = gold_segment_ (z.A,z.B)
  L.AB     = line:new (z.A,z.B)
  z.O_1    = L.AB.mid
  L.AC     = line:new (z.A,z.C)
  z.O_2    = L.AC.mid
  L.CB     = line:new (z.C,z.B)
  z.O_3    = L.CB.mid
  C1       = circle:new (z.O_1,z.B)
  C2       = circle:new (z.O_2,z.C)
  C3       = circle:new (z.O_3,z.B)
  z.Q      = C2.north
  z.P      = C3.north
  L1       = line:new (z.O_2,z.O_3)
  z.M_0    = L1:harmonic_ext (z.C)
  L2       = line:new (z.O_1,z.O_2)
  z.M_1    = L2:harmonic_int (z.A)
  L3       = line:new (z.O_1,z.O_3)
  z.M_2    = L3:harmonic_int (z.B)
  Lbq      = line:new (z.B,z.Q)
  Lap      = line:new (z.A,z.P)
  z.S      = intersection (Lbq,Lap)
  z.x      = z.C: north ()
  L        = line : new (z.C,z.x)
  z.D,_    = intersection (L,C1)
  L.CD     = line :new (z.C,z.D)
  z.O_7    = L.CD.mid
  C.DC     = circle: new (z.D,z.C)
  z.U,z.V  = intersection (C.DC,C1)
  L.UV     = line :new (z.U,z.V)
  z.R ,z.S = L.UV : projection (z.O_2,z.O_3)
  L.O1D    = line : new (z.O_1,z.D)
  z.W      = intersection (L.UV,L.O1D)
  z.O      = C.DC : inversion (z.W)
\end{tkzelements}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles[teal](O_1,B)
  \tkzDrawSemiCircles[thin,teal](O_2,C O_3,B)
  \tkzDrawArc[purple,delta=0](D,V)(U)
  \tkzDrawCircle[new](O_7,C)
  \tkzDrawSegments[thin,purple](A,D D,B C,R C,S C,D U,V)
  \tkzDrawSegments[thin,red](O,D A,O O,B)
  \tkzDrawPoints(A,B,C,D,O_7) %,
  \tkzDrawPoints(O_1,O_2,O_3,U,V,R,S,W,O)
  \tkzDrawSegments[cyan](O_3,S O_2,R)
  \tkzDrawSegments[very thin](A,B)
  \tkzDrawSegments[cyan,thin](C,U U,D)
  \tkzMarkRightAngles[size=.2,fill=gray!40,opacity=.4](D,C,A A,D,B
   D,S,C D,W,V O_3,S,U O_2,R,U)
  \tkzFillAngles[cyan!40,opacity=.4](B,A,D A,D,O_1
   C,D,B D,C,R B,C,S A,R,O_2)
  \tkzFillAngles[green!40,opacity=.4](S,C,D W,R,D
   D,B,C R,C,A O_3,S,B)
  \tkzLabelPoints[below](C,O_2,O_3,O_1)
  \tkzLabelPoints[above](D)
  \tkzLabelPoints[below](O)
  \tkzLabelPoints[below left](A)
  \tkzLabelPoints[above left](R)
  \tkzLabelPoints[above right](S)
  \tkzLabelPoints[left](V)
  \tkzLabelPoints[below right](B,U,W,O_7)
  \end{tikzpicture}
\end{center}


\end{minipage}

\begin{Verbatim}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles[teal](O_1,B)
   \tkzDrawSemiCircles[thin,teal](O_2,C O_3,B)
   \tkzDrawArc[purple,delta=0](D,V)(U)
   \tkzDrawCircle[new](O_7,C)
   \tkzDrawSegments[thin,purple](A,D D,B C,R C,S C,D U,V)
   \tkzDrawSegments[thin,red](O,D A,O O,B)
   \tkzDrawPoints(A,B,C,D,O_7) %,
   \tkzDrawPoints(O_1,O_2,O_3,U,V,R,S,W,O)
   \tkzDrawSegments[cyan](O_3,S O_2,R)
   \tkzDrawSegments[very thin](A,B)
   \tkzDrawSegments[cyan,thin](C,U U,D)
   \tkzMarkRightAngles[size=.2,fill=gray!40,opacity=.4](D,C,A A,D,B
     D,S,C D,W,V O_3,S,U O_2,R,U)
   \tkzFillAngles[cyan!40,opacity=.4](B,A,D A,D,O_1
     C,D,B D,C,R B,C,S A,R,O_2)
   \tkzFillAngles[green!40,opacity=.4](S,C,D W,R,D
     D,B,C R,C,A O_3,S,B)
   \tkzLabelPoints[below](C,O_2,O_3,O_1)
   \tkzLabelPoints[above](D)
   \tkzLabelPoints[below](O)
   \tkzLabelPoints[below left](A)
   \tkzLabelPoints[above left](R)
   \tkzLabelPoints[above right](S)
   \tkzLabelPoints[left](V)
   \tkzLabelPoints[below right](B,U,W,O_7)
\end{tikzpicture}
\end{Verbatim}
% subsection gold_arbelos_properties (end)

\subsection{Apollonius circle v1 with inversion} % (fold)
\label{sub:apollonius_circle_v1_with_inversion}
\begin{Verbatim}
\begin{tkzelements}
   scale             = .7
   z.A               = point: new (0,0)
   z.B               = point: new (6,0)
   z.C               = point: new (0.8,4)
   T.ABC             = triangle : new ( z.A,z.B,z.C )
   z.N               = T.ABC.eulercenter
   z.Ea,z.Eb,z.Ec    = get_points ( T.ABC : feuerbach () )
   z.Ja,z.Jb,z.Jc    = get_points ( T.ABC : excentral () )
   z.S               = T.ABC : spieker_center ()
   C.JaEa            = circle : new (z.Ja,z.Ea)
   C.ortho           = circle : radius (z.S,math.sqrt(C.JaEa : power (z.S) ))
   z.a               = C.ortho.south
   C.euler           = T.ABC: euler_circle ()
   C.apo             = C.ortho : inversion (C.euler)
   z.O               = C.apo.center
   z.xa,z.xb,z.xc    = C.ortho : inversion (z.Ea,z.Eb,z.Ec)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
\tkzDrawCircles[red](O,xa N,Ea)
\tkzFillCircles[green!30!black,opacity=.3](O,xa)
\tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
\tkzFillCircles[teal!30!black,opacity=.3](S,a)
\tkzFillCircles[green!30,opacity=.3](N,Ea)
\tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N)
\tkzClipCircle(O,xa)
\tkzDrawLines[add=3 and 3](A,B A,C B,C)
\tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec)
\tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
\tkzDrawCircles[teal](S,a)
\tkzDrawPoints(A,B,C,O)
\tkzDrawPoints[teal](S)
\tkzLabelPoints(A,B,C,O,S,N)
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
   scale             = .5
   z.A               = point: new (0,0)
   z.B               = point: new (6,0)
   z.C               = point: new (0.8,4)
   T.ABC             = triangle : new ( z.A,z.B,z.C )
   z.N               = T.ABC.eulercenter
   z.Ea,z.Eb,z.Ec    = get_points ( T.ABC : feuerbach () )
   z.Ja,z.Jb,z.Jc    = get_points ( T.ABC : excentral () )
   z.S               = T.ABC : spieker_center ()
   C.JaEa            = circle : new (z.Ja,z.Ea)
   C.ortho           = circle : radius (z.S,math.sqrt(C.JaEa : power (z.S) ))
   z.a               = C.ortho.south
   C.euler           = T.ABC: euler_circle ()
   C.apo             = C.ortho : inversion (C.euler)
   z.O               = C.apo.center
   z.xa,z.xb,z.xc    = C.ortho : inversion (z.Ea,z.Eb,z.Ec)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
     \tkzGetNodes
  \tkzDrawCircles[red](O,xa N,Ea)
  \tkzFillCircles[green!30!black,opacity=.3](O,xa)
  \tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
  \tkzFillCircles[teal!30!black,opacity=.3](S,a)
  \tkzFillCircles[green!30,opacity=.3](N,Ea)
  \tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N)
  \tkzClipCircle(O,xa)
  \tkzDrawLines[add=3 and 3](A,B A,C B,C)
  \tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec)
  \tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
  \tkzDrawCircles[teal](S,a)
  \tkzDrawPoints(A,B,C,O)
  \tkzDrawPoints[teal](S)
  \tkzLabelPoints(A,B,C,O,S,N)
  \end{tikzpicture}
\end{center}


% subsection apollonius_circle_v1_with_inversion (end)

\subsection{Apollonius circle v2} % (fold)
\label{sub:apollonius_circle_v2}
\begin{Verbatim}
\begin{tkzelements}
   scale       = .5
   z.A         = point: new (0,0)
   z.B         = point: new (6,0)
   z.C         = point: new (0.8,4)
   T.ABC       = triangle: new(z.A,z.B,z.C)
   z.O         = T.ABC.circumcenter
   z.H         = T.ABC.orthocenter
   z.G         = T.ABC.centroid
   z.L         = T.ABC: lemoine_point ()
   z.S         = T.ABC: spieker_center ()
   C.euler     = T.ABC: euler_circle ()
   z.N,z.Ma    = get_points (C.euler)
   C.exA       = T.ABC : ex_circle ()
   z.Ja,z.Xa   = get_points (C.exA)
   C.exB       = T.ABC : ex_circle (1)
   z.Jb,z.Xb   = get_points (C.exB)
   C.exC       = T.ABC : ex_circle (2)
   z.Jc,z.Xc   = get_points (C.exC)
   L.OL        = line: new (z.O,z.L)
   L.NS        = line: new (z.N,z.S)
   z.o         = intersection (L.OL,L.NS) -- center of Apollonius circle
   L.NMa       = line: new (z.N,z.Ma)
   L.ox        = L.NMa: ll_from (z.o)
   L.MaS       = line: new (z.Ma,z.S)
   z.t         = intersection (L.ox,L.MaS) -- through
\end{tkzelements}

\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawLines[add=1 and 1](A,B A,C B,C)
   \tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) %
   \tkzClipCircle(o,t)
   \tkzDrawLines[red](o,L N,o Ma,t)
   \tkzDrawLines[cyan,add=4 and 4](Ma,N o,t)
   \tkzDrawPoints(A,B,C,Ma,Ja,Jb,Jc)
   \tkzDrawPoints[red](N,O,L,S,o,t)
   \tkzLabelPoints[right,font=\tiny](A,B,C,Ja,Jb,Jc,O,N,L,S,Ma,o)
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
scale =.5
z.A    = point: new (0,0)
z.B    = point: new (6,0)
z.C    = point: new (0.8,4)
T.ABC  = triangle: new(z.A,z.B,z.C)
z.O    = T.ABC.circumcenter
z.H    = T.ABC.orthocenter
z.G    = T.ABC.centroid
z.L    = T.ABC: lemoine_point ()
z.S    = T.ABC: spieker_center ()
C.euler    = T.ABC: euler_circle ()
z.N,z.Ma   = get_points (C.euler)
C.exA  = T.ABC : ex_circle ()
z.Ja,z.Xa  = get_points (C.exA)
C.exB  = T.ABC : ex_circle (1)
z.Jb,z.Xb  = get_points (C.exB)
C.exC  = T.ABC : ex_circle (2)
z.Jc,z.Xc  = get_points (C.exC)
L.OL   = line: new (z.O,z.L)
L.NS   = line: new (z.N,z.S)
z.o    = intersection (L.OL,L.NS) -- center of Apollonius circle
L.NMa  = line: new (z.N,z.Ma)
L.ox   = L.NMa: ll_from (z.o)
L.MaS  = line: new (z.Ma,z.S)
z.t    = intersection (L.ox,L.MaS) -- through
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawLines[add=1 and 1](A,B A,C B,C)
  \tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) %
  \tkzClipCircle(o,t)
  \tkzDrawLines[red](o,L N,o Ma,t)
  \tkzDrawLines[cyan,add=4 and 4](Ma,N o,t)
  \tkzDrawPoints(A,B,C,Ma,Ja,Jb,Jc)
  \tkzDrawPoints[red](N,O,L,S,o,t)
  \tkzLabelPoints[right,font=\tiny](A,B,C,Ja,Jb,Jc,O,N,L,S,Ma,o)
  \end{tikzpicture}
\end{center}
% subsection apollonius_circle_v2 (end)



\subsection{Orthogonal circles} % (fold)
\label{sub:orthogonal_circles_v2}

\begin{Verbatim}
\begin{tkzelements}
scale    = .75
z.O      = point: new (2,2)
z.Op     = point: new (-4,1)
z.P      = point: polar (4,0)
C.OP     = circle: new (z.O,z.P)
C.Oz1    =  C.OP : orthogonal_from (z.Op)
z.z1     = C.Oz1.through
L.OP     = line : new (z.O,z.P)
C.Opz1   = circle: new (z.Op,z.z1)
L.T,L.Tp = C.Opz1 : tangent_from (z.O)
z.T      = L.T.pb
z.Tp     = L.Tp.pb
L.OOp    = line : new (z.O,z.Op)
z.M      = L.OOp.mid
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircle[red](O,P)
   \tkzDrawCircle[purple](O',z1)
   \tkzDrawCircle[cyan](M,T)
   \tkzDrawSegments(O',T O,T' O',T')
   \tkzDrawSegment[purple](O',T)
   \tkzDrawSegments[red](O,T O,O')
   \tkzDrawPoints(O,O',T,T',M)
   \tkzMarkRightAngle[fill=gray!10](O',T,O)
   \tkzLabelPoint[below](O){$O$}
   \tkzLabelPoint[above](T){$T$}
   \tkzLabelPoint[above](M){$M$}
   \tkzLabelPoint[below](T'){$T'$}
   \tkzLabelPoint[above left](O'){$O'$}
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
scale = .75
z.O      = point: new (2,2)
z.Op     = point: new (-4,1)
z.P      = point: polar (4,0)
C.OP     = circle: new (z.O,z.P)
C.Oz1    =  C.OP : orthogonal_from (z.Op)
z.z1     = C.Oz1.through
L.OP     = line : new (z.O,z.P)
C.Opz1   = circle: new (z.Op,z.z1)
L.T,L.Tp = C.Opz1 : tangent_from (z.O)
z.T      = L.T.pb
z.Tp     = L.Tp.pb
L.OOp    = line : new (z.O,z.Op)
z.M      = L.OOp.mid
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircle[red](O,P)
  \tkzDrawCircle[purple](O',z1)
  \tkzDrawCircle[cyan](M,T)
  \tkzDrawSegments(O',T O,T' O',T')
  \tkzDrawSegment[purple](O',T)
  \tkzDrawSegments[red](O,T O,O')
  \tkzDrawPoints(O,O',T,T',M)
  \tkzMarkRightAngle[fill=gray!10](O',T,O)
  \tkzLabelPoint[below](O){$O$}
  \tkzLabelPoint[above](T){$T$}
  \tkzLabelPoint[above](M){$M$}
  \tkzLabelPoint[below](T'){$T'$}
  \tkzLabelPoint[above left](O'){$O'$}
  \end{tikzpicture}
\end{center}


% subsection orthogonal_circles_v2 (end)
%
\subsection{Orthogonal circle to two circles} % (fold)
\label{sub:orthogonal_circle_to_two_circles}

\begin{Verbatim}
\begin{tkzelements}
   z.O         = point :   new (-1,0)
   z.B         = point :   new (0,2)
   z.Op        = point :   new (4,-1)
   z.D         = point :   new (4,0)
   C.OB        = circle :  new (z.O,z.B)
   C.OpD       = circle :  new (z.Op,z.D)
   z.E,z.F     = get_points (C.OB : radical_axis (C.OpD))
   L.EF        = line : new (z.E,z.F)
   z.M         = L.EF : point (.25)
   L.T,L.Tp    = C.OB : tangent_from (z.M)
   L.K,L.Kp    = C.OpD : tangent_from (z.M)
   z.T         = L.T.pb
   z.K         = L.K.pb
   z.Tp        = L.Tp.pb
   z.Kp        = L.Kp.pb
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(O,B O',D)
   \tkzDrawLine[cyan](E,F)
   \tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T')
   \tkzDrawSegments[cyan](M,T M,T' M,K M,K')
   \tkzDrawCircle(M,T)
   \tkzDrawPoints(O,O',T,M,T',K,K')
   \tkzLabelPoints(O,O',T,T',M,K,K')
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
   scale = 1.25
z.O   = point :   new (-1,0)
z.B   = point :   new (0,2)
z.Op  = point :   new (4,-1)
z.D   = point :   new (4,0)
C.OB  = circle :  new (z.O,z.B)
C.OpD = circle :  new (z.Op,z.D)
z.E,z.F   = get_points (C.OB : radical_axis (C.OpD))
L.EF  = line : new (z.E,z.F)
z.M   = L.EF : point (.25)
L.T,L.Tp  = C.OB : tangent_from (z.M)
L.K,L.Kp  = C.OpD : tangent_from (z.M)
z.T = L.T.pb
z.K = L.K.pb
z.Tp = L.Tp.pb
z.Kp = L.Kp.pb
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles(O,B O',D)
  \tkzDrawLine[cyan](E,F)
  \tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T')
  \tkzDrawSegments[cyan](M,T M,T' M,K M,K')
  \tkzDrawCircle(M,T)
  \tkzDrawPoints(O,O',T,M,T',K,K')
  \tkzLabelPoints(O,O',T,T',M,K,K')
  \end{tikzpicture}
\end{center}


% subsection Orthogonal to two circles (fold)

\subsection{Midcircles} % (fold)
\label{sub:midcircles}

\begin{tkzelements}
z.A  = point: new (0 , 0)
z.B  = point: new (10 , 0)
L.AB = line : new (z.A,z.B)
z.C  = L.AB: gold_ratio ()
L.AC = line : new (z.A,z.C)
L.CB = line : new (z.C,z.B)
z.O_0    = L.AB.mid
z.O_1    = L.AC.mid
z.O_2    = L.CB.mid
C.O0B    = circle : new (z.O_0,z.B)
C.O1C    = circle : new (z.O_1,z.C)
C.O2C    = circle : new (z.O_2,z.B)
z.Q  = C.O1C : midarc (z.C,z.A)
z.P  = C.O2C : midarc (z.B,z.C)
L.O1O2   = line : new (z.O_1,z.O_2)
L.O0O1   = line : new (z.O_0,z.O_1)
L.O0O2   = line : new (z.O_0,z.O_2)
z.M_0    = L.O1O2 : harmonic_ext (z.C)
z.M_1    = L.O0O1 : harmonic_int (z.A)
z.M_2    = L.O0O2 : harmonic_int (z.B)
L.BQ = line : new (z.B,z.Q)
L.AP = line : new (z.A,z.P)
z.S  = intersection (L.BQ,L.AP)
L.CS = line : new (z.C,z.S)
C.M1A    = circle : new (z.M_1,z.A)
C.M2B    = circle : new (z.M_2,z.B)
z.P_0    = intersection (L.CS,C.O0B)
z.P_1    = intersection (C.M2B,C.O1C)
z.P_2    = intersection (C.M1A,C.O2C)
T.P012   = triangle : new (z.P_0,z.P_1,z.P_2)
z.O_4    = T.P012.circumcenter
T.CP12   = triangle : new (z.C,z.P_1,z.P_2)
z.O_5    = T.CP12.circumcenter
z.BN = z.B : north ()
L.BBN    = line : new (z.B,z.BN)
L.M1P2   = line : new (z.M_1,z.P_2)
z.J  = intersection (L.BBN,L.M1P2)
L.AP0    = line : new (z.A,z.P_0)
L.BP0    = line : new (z.B,z.P_0)
C.O4P0   = circle : new (z.O_4,z.P_0)
_,z.G  = intersection (L.AP0,C.O4P0)
z.H    = intersection (L.BP0,C.O4P0)
z.Ap = z.M_1: symmetry (z.A)
z.H_4,z.F,z.E,z.H_0 = L.AB : projection (z.O_4,z.G,z.H,z.P_0)
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircle[thin,fill=green!10](O_4,P_0)
  \tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
  \tkzDrawSemiCircles[teal](O_0,B)
  \tkzDrawSemiCircles[thin,teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
  \tkzDrawSemiCircles[color = orange](M_2,B)
  \tkzDrawSemiCircles[color = orange](M_1,A')
  \tkzDrawArc[purple,delta=0](M_0,P_0)(C)
  \tkzDrawSegments[very thin](A,B A,P B,Q)
  \tkzDrawSegments[color=cyan](O_0,P_0 B,J G,J G,O_0 H,O_2)
  \tkzDrawSegments[ultra thin,purple](M_1,P_0 M_2,P_0 M_1,M_0 M_0,P_1 M_0,P_0 M_1,J)
  \tkzDrawPoints(A,B,C,P_0,P_2,P_1,M_0,M_1,M_2,J,P,Q,S)
  \tkzDrawPoints(O_0,O_1,O_2,O_4,O_5,G,H)
  \tkzMarkRightAngle[size=.2,fill=gray!20,opacity=.4](O_0,P_0,M_0)
  \tkzLabelPoints[below](A,B,C,M_0,M_1,M_2,O_1,O_2,O_0)
  \tkzLabelPoints[above](P_0,O_5,O_4)
  \tkzLabelPoints[above](P_1,J)
  \tkzLabelPoints[above](P_2,P,Q,S)
  \tkzLabelPoints[above right](H,E)
  \tkzLabelPoints[above left](F,G)
  \tkzLabelPoints[below right](H_0)
  \tkzLabelCircle[below=4pt,font=\scriptsize](O_1,C)(80){$(\beta)$}
  \tkzLabelCircle[below=4pt,font=\scriptsize](O_2,B)(80){$(\gamma)$}
  \tkzLabelCircle[below=4pt,font=\scriptsize](O_0,B)(110){$(\alpha)$}
  \tkzLabelCircle[left,font=\scriptsize](O_4,P_2)(60){$(\delta)$}
  \tkzLabelCircle[above left,font=\scriptsize](O_5,C)(40){$(\epsilon)$}
  \end{tikzpicture}
\end{center}



\begin{Verbatim}
\begin{tkzelements}
   z.A      = point: new (0 , 0)
   z.B      = point: new (10 , 0)
   L.AB     = line : new (z.A,z.B)
   z.C      = L.AB: gold_ratio ()
   L.AC     = line : new (z.A,z.C)
   L.CB     = line : new (z.C,z.B)
   z.O_0    = L.AB.mid
   z.O_1    = L.AC.mid
   z.O_2    = L.CB.mid
   C.O0B    = circle : new (z.O_0,z.B)
   C.O1C    = circle : new (z.O_1,z.C)
   C.O2C    = circle : new (z.O_2,z.B)
   z.Q      = C.O1C : midarc (z.C,z.A)
   z.P      = C.O2C : midarc (z.B,z.C)
   L.O1O2   = line : new (z.O_1,z.O_2)
   L.O0O1   = line : new (z.O_0,z.O_1)
   L.O0O2   = line : new (z.O_0,z.O_2)
   z.M_0    = L.O1O2 : harmonic_ext (z.C)
   z.M_1    = L.O0O1 : harmonic_int (z.A)
   z.M_2    = L.O0O2 : harmonic_int (z.B)
   L.BQ     = line : new (z.B,z.Q)
   L.AP     = line : new (z.A,z.P)
   z.S      = intersection (L.BQ,L.AP)
   L.CS     = line : new (z.C,z.S)
   C.M1A    = circle : new (z.M_1,z.A)
   C.M2B    = circle : new (z.M_2,z.B)
   z.P_0    = intersection (L.CS,C.O0B)
   z.P_1    = intersection (C.M2B,C.O1C)
   z.P_2    = intersection (C.M1A,C.O2C)
   T.P012   = triangle : new (z.P_0,z.P_1,z.P_2)
   z.O_4    = T.P012.circumcenter
   T.CP12   = triangle : new (z.C,z.P_1,z.P_2)
   z.O_5    = T.CP12.circumcenter
   z.BN     = z.B : north ()
   L.BBN    = line : new (z.B,z.BN)
   L.M1P2   = line : new (z.M_1,z.P_2)
   z.J      = intersection (L.BBN,L.M1P2)
   L.AP0    = line : new (z.A,z.P_0)
   L.BP0    = line : new (z.B,z.P_0)
   C.O4P0   = circle : new (z.O_4,z.P_0)
   _,z.G    = intersection (L.AP0,C.O4P0)
   z.H      = intersection (L.BP0,C.O4P0)
   z.Ap     = z.M_1: symmetry (z.A)
   z.H_4,z.F,z.E,z.H_0 = L.AB : projection (z.O_4,z.G,z.H,z.P_0)
\end{tkzelements}
\end{Verbatim}

\begin{Verbatim}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawCircle[thin,fill=green!10](O_4,P_0)
\tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
\tkzDrawSemiCircles[teal](O_0,B)
\tkzDrawSemiCircles[thin,teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
\tkzDrawSemiCircles[color = orange](M_2,B)
\tkzDrawSemiCircles[color = orange](M_1,A')
\tkzDrawArc[purple,delta=0](M_0,P_0)(C)
\tkzDrawSegments[very thin](A,B A,P B,Q)
\tkzDrawSegments[color=cyan](O_0,P_0 B,J G,J G,O_0 H,O_2)
\tkzDrawSegments[ultra thin,purple](M_1,P_0 M_2,P_0 M_1,M_0 M_0,P_1 M_0,P_0 M_1,J)
\tkzDrawPoints(A,B,C,P_0,P_2,P_1,M_0,M_1,M_2,J,P,Q,S)
\tkzDrawPoints(O_0,O_1,O_2,O_4,O_5,G,H)
\tkzMarkRightAngle[size=.2,fill=gray!20,opacity=.4](O_0,P_0,M_0)
\tkzLabelPoints[below](A,B,C,M_0,M_1,M_2,O_1,O_2,O_0)
\tkzLabelPoints[above](P_0,O_5,O_4)
\tkzLabelPoints[above](P_1,J)
\tkzLabelPoints[above](P_2,P,Q,S)
\tkzLabelPoints[above right](H,E)
\tkzLabelPoints[above left](F,G)
\tkzLabelPoints[below right](H_0)
\tkzLabelCircle[below=4pt,font=\scriptsize](O_1,C)(80){$(\beta)$}
\tkzLabelCircle[below=4pt,font=\scriptsize](O_2,B)(80){$(\gamma)$}
\tkzLabelCircle[below=4pt,font=\scriptsize](O_0,B)(110){$(\alpha)$}
\tkzLabelCircle[left,font=\scriptsize](O_4,P_2)(60){$(\delta)$}
\tkzLabelCircle[above left,font=\scriptsize](O_5,C)(40){$(\epsilon)$}
\end{tikzpicture}
\end{Verbatim}


% subsection midcircles (end)

\subsection{Pencil v1} % (fold)
\label{sub:pencil_v1}
\begin{Verbatim}
\begin{tkzelements}
   scale       = .75
   z.A         = point : new (0,2)
   z.B         = point : new (0,-2)
   z.C_0       = point : new (-3,0)
   z.C_1       = point : new (2,0)
   z.C_3       = point : new (2.5,0)
   z.C_5       = point : new (1,0)
   L.BA        = line : new (z.B,z.A)
   z.M_0       = L.BA : point (1.25)
   z.M_1       = L.BA : point (1.5)
   C.C0A       = circle :    new (z.C_0,z.A)
   z.x,z.y     = get_points (C.C0A : orthogonal_from (z.M_0))
   z.xp,z.yp   = get_points (C.C0A : orthogonal_from (z.M_1))
   z.O         = L.BA.mid
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(C_0,A C_1,A C_3,A C_5,A)
   \tkzDrawCircles[thick,color=red](M_0,x M_1,x')
   \tkzDrawCircles[thick,color=blue](O,A)
   \tkzDrawLines(C_0,C_1 B,M_1)
   \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,x,y)
   \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,x,y)
   \tkzLabelLine[pos=1.25,right]( M_0,M_1){$(\Delta)$}
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
scale=.75
z.A     = point : new (0,2)
z.B     = point : new (0,-2)
z.C_0   = point : new (-3,0)
z.C_1   = point : new (2,0)
z.C_3   = point : new (2.5,0)
z.C_5   = point : new (1,0)
L.BA    = line : new (z.B,z.A)
z.M_0   = L.BA : point (1.25)
z.M_1   = L.BA : point (1.5)
C.C0A   = circle :    new (z.C_0,z.A)
z.x,z.y = get_points (C.C0A : orthogonal_from (z.M_0))
z.xp,z.yp   = get_points (C.C0A : orthogonal_from (z.M_1))
z.O     = L.BA.mid
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles(C_0,A C_1,A C_3,A C_5,A)
  \tkzDrawCircles[thick,color=red](M_0,x M_1,x')
  \tkzDrawCircles[thick,color=blue](O,A)
  \tkzDrawLines(C_0,C_1 B,M_1)
  \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,x,y)
  \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,x,y)
  \tkzLabelLine[pos=1.25,right]( M_0,M_1){$(\Delta)$}
  \end{tikzpicture}
\end{center}


% subsection pencil_v1 (end)

\subsection{Pencil v2} % (fold)
\label{sub:pencil_v2}
\begin{Verbatim}
\begin{tkzelements}
   scale=.75
   z.A     = point : new (0,0)
   z.B     = point : new (1,0)
   z.C_0   = point : new (-2,0)
   z.C_1   = point : new (4,0)
   C.C0A   = circle : new (z.C_0,z.A)
   C.C1B   = circle : new (z.C_1,z.B)
   L.EF    = C.C0A : radical_axis (C.C1B)
   z.M_0   = L.EF : point (.4)
   z.M_1   = L.EF : point (.1)
   z.M_2   = L.EF : point (.6)
   C.orth0     = C.C0A : orthogonal_from (z.M_0)
   C.orth1     = C.C0A : orthogonal_from (z.M_1)
   C.orth2     = C.C0A : orthogonal_from (z.M_2)
   z.u         = C.orth0.through
   z.v         = C.orth1.through
   z.t         = C.orth2.through
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(C_0,A C_1,B)
   \tkzDrawCircles[thick,color=red](M_0,u M_1,v M_2,t)
   \tkzDrawLines[add= .75 and .75](C_0,C_1 M_0,M_1)
   \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,M_2)
   \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,M_2)
   \tkzLabelLine[pos=2,right]( M_0,M_1){$(\Delta)$}
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
   scale=.75
   z.A     = point : new (0,0)
   z.B     = point : new (1,0)
   z.C_0   = point : new (-2,0)
   z.C_1   = point : new (4,0)
   C.C0A   = circle :    new (z.C_0,z.A)
   C.C1B   = circle : new (z.C_1,z.B)
   L.EF    = C.C0A : radical_axis (C.C1B)
   z.M_0   = L.EF : point (.4)
   z.M_1   = L.EF : point (.1)
   z.M_2   = L.EF : point (.6)
   C.orth0     = C.C0A : orthogonal_from (z.M_0)
   C.orth1     = C.C0A : orthogonal_from (z.M_1)
   C.orth2     = C.C0A : orthogonal_from (z.M_2)
   z.u         = C.orth0.through
   z.v         = C.orth1.through
   z.t         = C.orth2.through
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles(C_0,A C_1,B)
  \tkzDrawCircles[thick,color=red](M_0,u M_1,v M_2,t)
  \tkzDrawLines[add= .75 and .75](C_0,C_1 M_0,M_1)
  \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,M_2)
  \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,M_2)
  \tkzLabelLine[pos=2,right]( M_0,M_1){$(\Delta)$}
  \end{tikzpicture}
\end{center}

%subsection pencil_v2 (end)


\subsection{Reim v1} % (fold)
\label{sub:reim_v1}
\begin{Verbatim}
\begin{tkzelements}
   z.A     = point: new (0,0)
   z.E     = point: new (-2,2)
   C.AE    = circle :   new (z.A,z.E)
   z.C     = C.AE : point (0.65)
   z.D     = C.AE : point (0.5)
   z.F     = C.AE : point (0.30)
   L.EC    = line: new (z.E,z.C)
   z.H     = L.EC : point (1.5)
   T.CDH   = triangle : new (z.C,z.D,z.H)
   z.B     = T.CDH.circumcenter
   C.BD    = circle : new (z.B,z.D)
   L.FD    = line: new (z.F,z.D)
   z.G     = intersection (L.FD,C.BD)
   z.O     = intersection (L.EC,L.FD)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(A,E B,H)
   \tkzDrawSegments(E,D C,F)
   \tkzDrawLines(E,O F,O)
   \tkzDrawLines[red](E,F H,G)
   \tkzDrawPoints(A,...,H,O)
   \tkzLabelPoints(A,B,D,F,G,O)
   \tkzLabelPoints[above](E,C,H)
   \tkzMarkAngles[size=.5](E,C,F E,D,F)
   \tkzFillAngles[green!40,opacity=.4,size=.5](E,C,F E,D,F)
   \tkzMarkAngles[size=.5](F,C,H G,D,E)
   \tkzFillAngles[red!40,opacity=.4,size=.5](F,C,H G,D,E)
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
   z.A     = point: new (0,0)
   z.E     = point: new (-2,2)
   C.AE    = circle :   new (z.A,z.E)
   z.C     = C.AE : point (0.65)
   z.D     = C.AE : point (0.5)
   z.F     = C.AE : point (0.30)
   L.EC    = line: new (z.E,z.C)
   z.H     = L.EC : point (1.5)
   T.CDH   = triangle : new (z.C,z.D,z.H)
   z.B     = T.CDH.circumcenter
   C.BD    = circle : new (z.B,z.D)
   L.FD    = line: new (z.F,z.D)
   z.G     = intersection (L.FD,C.BD)
   z.O     = intersection (L.EC,L.FD)
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles(A,E B,H)
  \tkzDrawSegments(E,D C,F)
  \tkzDrawLines(E,O F,O)
  \tkzDrawLines[red](E,F H,G)
  \tkzDrawPoints(A,...,H,O)
  \tkzLabelPoints(A,B,D,F,G,O)
  \tkzLabelPoints[above](E,C,H)
  \tkzMarkAngles[size=.5](E,C,F E,D,F)
  \tkzFillAngles[green!40,opacity=.4,size=.5](E,C,F E,D,F)
  \tkzMarkAngles[size=.5](F,C,H G,D,E)
  \tkzFillAngles[red!40,opacity=.4,size=.5](F,C,H G,D,E)
  \end{tikzpicture}
\end{center}


% subsection reim_v1 (end)

\subsection{Reim v2} % (fold)
\label{sub:reim_v2}
\begin{Verbatim}
\begin{tkzelements}
   scale    = .6
   z.A      = point: new (0,0)
   z.B      = point: new (10,0)
   z.C      = point: new (4,0)
   C.AC     = circle: new (z.A,z.C)
   z.c,z.cp = get_points (C.AC: tangent_at (z.C))
   z.M      = C.AC: point (0.6)
   L.MC     = line: new (z.M,z.C)
   C.BC     = circle: new (z.B,z.C)
   z.N      = intersection (L.MC,C.BC)
   z.m,z.mp = get_points (C.AC: tangent_at (z.M))
   z.n,z.np = get_points (C.BC: tangent_at (z.N))
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(A,C B,C)
   \tkzDrawLines[new,add=1 and 1](M,m N,n C,c)
   \tkzDrawSegment(M,N)
   \tkzDrawPoints(A,B,C,M,N)
   \tkzLabelPoints[below right](A,B,C,M,N)
   \tkzFillAngles[blue!30,opacity=.3](m',M,C N,C,c' M,C,c n',N,C)
   \tkzLabelCircle[below=4pt,font=\scriptsize](A,C)(90){$(\alpha)$}
   \tkzLabelCircle[left=4pt,font=\scriptsize](B,C)(-90){$(\beta)$}
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
scale = .4
z.A     = point: new (0,0)
z.B     = point: new (10,0)
z.C     = point: new (4,0)
C.AC    = circle: new (z.A,z.C)
z.c,z.cp    = get_points (C.AC: tangent_at (z.C))
z.M      = C.AC: point (0.6)
L.MC    = line: new (z.M,z.C)
C.BC    = circle: new (z.B,z.C)
z.N     = intersection (L.MC,C.BC)
z.m,z.mp    = get_points (C.AC: tangent_at (z.M))
z.n,z.np    = get_points (C.BC: tangent_at (z.N))
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles(A,C B,C)
  \tkzDrawLines[new,add=1 and 1](M,m N,n C,c)
  \tkzDrawSegment(M,N)
  \tkzDrawPoints(A,B,C,M,N)
  \tkzLabelPoints[below right](A,B,C,M,N)
  \tkzFillAngles[blue!30,opacity=.3](m',M,C N,C,c' M,C,c n',N,C)
  \tkzLabelCircle[below=4pt,font=\scriptsize](A,C)(90){$(\alpha)$}
  \tkzLabelCircle[left=4pt,font=\scriptsize](B,C)(-90){$(\beta)$}
  \end{tikzpicture}
\end{center}


% subsection reim_v2 (end)

\subsection{Reim v3} % (fold)
\label{sub:reim_v3}
\begin{Verbatim}
\begin{tkzelements}
   z.A     = point: new (0,0)
   z.B     = point: new (8,0)
   z.C     = point: new (2,6)
   L.AB    = line : new (z.A,z.B)
   L.AC    = line : new (z.A,z.C)
   L.BC    = line : new (z.B,z.C)
   z.I     = L.BC : point (0.75)
   z.J     = L.AC : point (0.4)
   z.K     = L.AB : point (0.5)
   T.AKJ   = triangle : new (z.A,z.K,z.J)
   T.BIK   = triangle : new (z.B,z.I,z.K)
   T.CIJ   = triangle : new (z.C,z.I,z.J)
   z.x     = T.AKJ.circumcenter
   z.y     = T.BIK.circumcenter
   z.z     = T.CIJ.circumcenter
   C.xK    = circle: new (z.x,z.K)
   C.yK    = circle: new (z.y,z.K)
   z.O,_   = intersection (C.xK,C.yK)
   C.zO    = circle: new (z.z,z.O)
   L.KO    = line: new (z.K,z.O)
   z.D     = intersection (L.KO,C.zO)
\end{tkzelements}

\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawSegments(K,D D,C)
   \tkzDrawPolygon[teal](A,B,C)
   \tkzDrawCircles[orange](x,A y,B z,C)
   \tkzDrawPoints[fill=white](A,B,C,I,J,K,D)
   \tkzLabelPoints[below](A,B,J,K,O)
   \tkzLabelPoints[above](C,D,I)
   \tkzDrawPoints[fill=black](O)
   \tkzLabelCircle[below=4pt,font=\scriptsize](x,A)(20){$(\alpha)$}
   \tkzLabelCircle[left=4pt,font=\scriptsize](y,B)(60){$(\beta)$}
   \tkzLabelCircle[below=4pt,font=\scriptsize](z,C)(60){$(\gamma)$}
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
   scale = .75
   z.A     = point: new (0,0)
   z.B     = point: new (8,0)
   z.C     = point: new (2,6)
   L.AB    = line : new (z.A,z.B)
   L.AC    = line : new (z.A,z.C)
   L.BC    = line : new (z.B,z.C)
   z.I     = L.BC : point (0.75)
   z.J     = L.AC : point (0.4)
   z.K     = L.AB : point (0.5)
   T.AKJ   = triangle : new (z.A,z.K,z.J)
   T.BIK   = triangle : new (z.B,z.I,z.K)
   T.CIJ   = triangle : new (z.C,z.I,z.J)
   z.x     = T.AKJ.circumcenter
   z.y     = T.BIK.circumcenter
   z.z     = T.CIJ.circumcenter
   C.xK    = circle: new (z.x,z.K)
   C.yK    = circle: new (z.y,z.K)
   z.O,_   = intersection (C.xK,C.yK)
   C.zO    = circle: new (z.z,z.O)
   L.KO    = line: new (z.K,z.O)
   z.D     = intersection (L.KO,C.zO)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawSegments(K,D D,C)
  \tkzDrawPolygon[teal](A,B,C)
  \tkzDrawCircles[orange](x,A y,B z,C)
  \tkzDrawPoints[fill=white](A,B,C,I,J,K,D)
  \tkzLabelPoints[below](A,B,J,K,O)
  \tkzLabelPoints[above](C,D,I)
  \tkzDrawPoints[fill=black](O)
  \tkzLabelCircle[below=4pt,font=\scriptsize](x,A)(20){$(\alpha)$}
  \tkzLabelCircle[left=4pt,font=\scriptsize](y,B)(60){$(\beta)$}
  \tkzLabelCircle[below=4pt,font=\scriptsize](z,C)(60){$(\gamma)$}
  \end{tikzpicture}
\end{center}


% subsection reim_v3 (end)

\subsection{Tangent and circle} % (fold)
\label{sub:tangent_and_circle}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
   z.A         = point:    new (1,0)
   z.B         = point:    new (2,2)
   z.E         = point:    new (5,-4)
   L.AE        = line :    new (z.A,z.E)
   C.AB        = circle:   new (z.A , z.B)
   z.S         = C.AB.south
   z.M         = L.AE.mid
   L.Ti,L.Tj   = C.AB:   tangent_from (z.E)
   z.i         = L.Ti.pb
   z.j         = L.Tj.pb
   z.k,z.l     = get_points (C.AB:  tangent_at (z.B))
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(A,B M,A)
   \tkzDrawPoints(A,B,E,i,j,M,S)
   \tkzDrawLines(E,i E,j k,l)
   \tkzLabelPoints[right,font=\small](A,B,E,S,M)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
z.A     = point:    new (1,0)
z.B     = point:    new (2,2)
z.E     = point:    new (5,-4)
L.AE    = line :    new (z.A,z.E)
C.AB    = circle:   new (z.A , z.B)
z.S     = C.AB.south
z.M     = L.AE.mid
L.Ti,L.Tj   = C.AB:   tangent_from (z.E)
z.i     = L.Ti.pb
z.j     = L.Tj.pb
z.k,z.l = get_points (C.AB:  tangent_at (z.B))
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles(A,B M,A)
  \tkzDrawPoints(A,B,E,i,j,M,S)
  \tkzDrawLines(E,i E,j k,l)
  \tkzLabelPoints[right,font=\small](A,B,E,S,M)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection tangent_and_circle (end)

\subsection{Homothety} % (fold)
\label{sub:homothety}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
   z.A      = point:  new (0,0)
   z.B      = point:  new (1,2)
   z.E      = point:  new (-3,2)
   z.C,z.D  = z.E : homothety(2,z.A,z.B)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPoints(A,B,C,E,D)
   \tkzLabelPoints(A,B,C,E)
   \tkzDrawCircles(A,B C,D)
   \tkzDrawLines(E,C E,D)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
scale = .6
z.A  = point:  new (0,0)
z.B  = point:  new (1,2)
z.E  = point:  new (-3,2)
z.C,z.D  = z.E : homothety(2,z.A,z.B)
\end{tkzelements}
\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPoints(A,B,C,E,D)
  \tkzLabelPoints(A,B,C,E)
  \tkzDrawCircles(A,B C,D)
  \tkzDrawLines(E,C E,D)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection homothety (end)

\subsection{Tangent and chord} % (fold)
\label{sub:tangent_and_chord}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
   scale       = .8
   z.A         = point: new (0 , 0)
   z.B         = point: new (6 , 0)
   z.C         = point: new (1 , 5)
   z.Bp        = point: new (2 , 0)
   T.ABC       = triangle: new (z.A,z.B,z.C)
   L.AB        = line: new (z.A,z.B)
   z.O         = T.ABC.circumcenter
   C.OA        = circle: new (z.O,z.A)
   z.D         = C.OA: point (4.5)
   L.AO        = line: new (z.A,z.O)
   z.b1,z.b2   = get_points (C.OA: tangent_at (z.B))
   z.H         = L.AB: projection (z.O)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircle(O,A)
   \tkzDrawPolygon(A,B,C)
   \tkzDrawSegments[new](A,O B,O O,H A,D D,B)
   \tkzDrawLine(b1,b2)
   \tkzDrawPoints(A,B,C,D,H,O)
   \tkzFillAngles[green!20,opacity=.3](H,O,B A,C,B  A,B,b1)
   \tkzFillAngles[teal!20,opacity=.3](A,D,B b2,B,A)
   \tkzLabelPoints(A,B,C,D,H,O)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
scale = 0.75
z.A     = point: new (0 , 0)
z.B     = point: new (6 , 0)
z.C     = point: new (1 , 5)
z.Bp    = point: new (2 , 0)
T.ABC   = triangle: new (z.A,z.B,z.C)
L.AB    = line: new (z.A,z.B)
z.O     = T.ABC.circumcenter
C.OA    = circle: new (z.O,z.A)
z.D     = C.OA: point (4.5)
L.AO    = line: new (z.A,z.O)
z.b1,z.b2   = get_points (C.OA: tangent_at (z.B))
z.H     = L.AB: projection (z.O)
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircle(O,A)
  \tkzDrawPolygon(A,B,C)
  \tkzDrawSegments[new](A,O B,O O,H A,D D,B)
  \tkzDrawLine(b1,b2)
  \tkzDrawPoints(A,B,C,D,H,O)
  \tkzFillAngles[green!20,opacity=.3](H,O,B A,C,B  A,B,b1)
  \tkzFillAngles[teal!20,opacity=.3](A,D,B b2,B,A)
  \tkzLabelPoints(A,B,C,D,H,O)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection tangent_and_chord (end)


\subsection{Three chords} % (fold)
\label{sub:three_chords}

\begin{Verbatim}
\begin{tkzelements}
z.O  = point: new (0 , 0)
z.B  = point: new (0 , 2)
z.P  = point: new (1 , -.5)
C.OB = circle : new (z.O,z.B)
C.PB = circle : new (z.P,z.B)
_,z.A    = intersection (C.OB,C.PB)
z.D  = C.PB: point(0.85)
z.C  = C.PB: point(0.5)
z.E  = C.OB: point(0.6)
L.AB = line : new (z.A,z.B)
L.CD = line : new (z.C,z.D)
z.G  = intersection (L.AB,L.CD)
L.GE = line : new (z.G,z.E)
z.F,_    = intersection (L.GE,C.OB)
T.CDE    = triangle: new (z.C,z.D,z.E)
T.BFD    = triangle: new (z.B,z.F,z.D)
z.w  = T.CDE.circumcenter
z.x  = T.BFD.circumcenter
L.GB = line : new (z.G,z.B)
L.GE = line : new (z.G,z.E)
L.GD = line : new (z.G,z.D)
C.xB = circle : new (z.x,z.B)
C.xF = circle : new (z.x,z.F)
C.xD = circle : new (z.x,z.D)
z.Ap = intersection (L.GB,C.xB)
z.Ep,_   = intersection (L.GE,C.xF)
z.Cp,_   = intersection (L.GD,C.xD)
\end{tkzelements}
\end{Verbatim}


\begin{tkzelements}
z.O  = point: new (0 , 0)
z.B  = point: new (0 , 2)
z.P  = point: new (1 , -.5)
C.OB = circle : new (z.O,z.B)
C.PB = circle : new (z.P,z.B)
_,z.A    = intersection (C.OB,C.PB)
z.D  = C.PB: point(0.85)
z.C  = C.PB: point(0.5)
z.E  = C.OB: point(0.6)
L.AB = line : new (z.A,z.B)
L.CD = line : new (z.C,z.D)
z.G  = intersection (L.AB,L.CD)
L.GE = line : new (z.G,z.E)
z.F,_    = intersection (L.GE,C.OB)
T.CDE    = triangle: new (z.C,z.D,z.E)
T.BFD    = triangle: new (z.B,z.F,z.D)
z.w  = T.CDE.circumcenter
z.x  = T.BFD.circumcenter
L.GB = line : new (z.G,z.B)
L.GE = line : new (z.G,z.E)
L.GD = line : new (z.G,z.D)
C.xB = circle : new (z.x,z.B)
C.xF = circle : new (z.x,z.F)
C.xD = circle : new (z.x,z.D)
z.Ap = intersection (L.GB,C.xB)
z.Ep,_   = intersection (L.GE,C.xF)
z.Cp,_   = intersection (L.GD,C.xD)
\end{tkzelements}

\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles(O,B)
  \tkzDrawCircles[cyan](P,B)
  \tkzDrawCircles[red](w,E)
  \tkzDrawCircles[new](x,F)
  \tkzDrawSegments(A,G E,G C,G)
  \tkzDrawPolygons[new](A,E,C A',E',C')
  \tkzDrawPoints(A,...,G,A',E',C',O,P)
  \begin{scope}[font=\scriptsize]
  \tkzLabelPoints(A,...,F)
  \tkzLabelPoints[above left](G,A',E',C')
  \tkzLabelCircle[left](O,B)(30){$(\beta)$}
  \tkzLabelCircle[below](P,A)(40){$(\gamma)$}
  \tkzLabelCircle[right](w,C)(90){$(\alpha)$}
  \tkzLabelCircle[left](x,B)(-230){$((\delta))$}
  \end{scope}
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{center}
  \begin{tikzpicture}[scale=.75]
  \tkzGetNodes
  \tkzDrawCircles(O,B)
  \tkzDrawCircles[cyan](P,B)
  \tkzDrawCircles[red](w,E)
  \tkzDrawCircles[new](x,F)
  \tkzDrawSegments(A,G E,G C,G)
  \tkzDrawPolygons[new](A,E,C A',E',C')
  \tkzDrawPoints(A,...,G,A',E',C',O,P)
  \begin{scope}[font=\scriptsize]
     \tkzLabelPoints(A,...,F)
     \tkzLabelPoints[above left](G,A',E',C')
     \tkzLabelCircle[left](O,B)(30){$(\beta)$}
     \tkzLabelCircle[below](P,A)(40){$(\gamma)$}
     \tkzLabelCircle[right](w,C)(90){$(\alpha)$}
     \tkzLabelCircle[left](x,B)(-230){$((\delta))$}
  \end{scope}
  \end{tikzpicture}
\end{center}
\end{minipage}
% subsection three_chords (end)

\subsection{Three tangents} % (fold)
\label{sub:three_tangents}

\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
   z.A    = point: new (-1 , 0)
   z.C    = point: new (4 , -1.5)
   z.E    = point: new (1 , -1)
   z.F    = point: new (1.5 , 2.5)
   T.AEF  = triangle : new (z.A,z.E,z.F)
   T.CEF  = triangle : new (z.C,z.E,z.F)
   z.w    = T.AEF.circumcenter
   z.x    = T.CEF.circumcenter
   C.wE   = circle : new (z.w,z.E)
   C.xE   = circle : new (z.x,z.E)
   L.Aw   = line : new (z.A,z.w)
   L.Cx   = line : new (z.C,z.x)
   z.G    = intersection (L.Aw,L.Cx)
   L.TA   = C.wE : tangent_at (z.A)
   L.TC   = C.xE : tangent_at (z.C)
   z.I    = intersection (L.TA,L.TC)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawCircles(w,E)
   \tkzDrawCircles[cyan](x,E)
   \tkzDrawCircles[red](G,A)
   \tkzDrawLines(A,I C,I F,I)
   \tkzDrawPoints(A,C,E,F)
   \tkzLabelPoints[right](A)
   \tkzLabelPoints[above right](E,F)
   \tkzLabelPoints[below](C)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
scale  = .75
z.A    = point: new (-1 , 0)
z.C    = point: new (4 , -1.5)
z.E    = point: new (1 , -1)
z.F    = point: new (1.5 , 2.5)
T.AEF  = triangle : new (z.A,z.E,z.F)
T.CEF  = triangle : new (z.C,z.E,z.F)
z.w    = T.AEF.circumcenter
z.x    = T.CEF.circumcenter
C.wE   = circle : new (z.w,z.E)
C.xE   = circle : new (z.x,z.E)
L.Aw   = line : new (z.A,z.w)
L.Cx   = line : new (z.C,z.x)
z.G    = intersection (L.Aw,L.Cx)
L.TA   = C.wE : tangent_at (z.A)
L.TC   = C.xE : tangent_at (z.C)
z.I    = intersection (L.TA,L.TC)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawCircles(w,E)
  \tkzDrawCircles[cyan](x,E)
  \tkzDrawCircles[red](G,A)
  \tkzDrawLines(A,I C,I F,I)
  \tkzDrawPoints(A,C,E,F)
  \tkzLabelPoints[right](A)
  \tkzLabelPoints[above right](E,F)
  \tkzLabelPoints[below](C)
  \end{tikzpicture}
\end{center}
\end{minipage}
% subsection three_tangents (end)

\subsection{Midarc} % (fold)
\label{sub:midarc}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
   z.A   = point:  new (-1,0)
   z.B   = point:  new (2,4)
   C.AB  = circle: new (z.A,z.B)
   z.C   =  z.A: rotation (math.pi/3,z.B)
   z.D   = C.AB: midarc (z.B,z.C)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPoints(A,B,C)
   \tkzDrawCircles(A,B)
   \tkzDrawPoints(A,...,D)
   \tkzLabelPoints(A,...,D)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
scale = .5
z.A  = point:  new (-1,0)
z.B  = point:  new (2,4)
C.AB = circle:  new (z.A,z.B)
z.C =  z.A: rotation (math.pi/3,z.B)
z.D = C.AB: midarc (z.B,z.C)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPoints(A,B,C)
  \tkzDrawCircles(A,B)
  \tkzDrawPoints(A,...,D)
  \tkzLabelPoints(A,...,D)
  \end{tikzpicture}
\end{center}
\end{minipage}
% subsection midarc (end)

\subsection{Lemoine Line without macro} % (fold)
\label{sub:lemoine_line_without_macro}

\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
   scale       = 1.6
   z.A         = point: new (1,0)
   z.B         = point: new (5,2)
   z.C         = point: new (1.2,2)
   T           = triangle: new(z.A,z.B,z.C)
   z.O         = T.circumcenter
   L.AB        = line: new (z.A,z.B)
   L.AC        = line: new (z.A,z.C)
   L.BC        = line: new (z.B,z.C)
   C.OA        = circle: new (z.O,z.A)
   z.Ar,z.Al   = get_points (C.OA: tangent_at (z.A))
   z.Br,z.Bl   = get_points (C.OA: tangent_at (z.B))
   z.Cr,z.Cl   = get_points (C.OA: tangent_at (z.C))
   L.tA        = line: new (z.Ar,z.Al)
   L.tB        = line: new (z.Br,z.Bl)
   L.tC        = line: new (z.Cr,z.Cl)
   z.P         = intersection (L.tA,L.BC)
   z.Q         = intersection (L.tB,L.AC)
   z.R         = intersection (L.tC,L.AB)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPolygon[teal](A,B,C)
   \tkzDrawCircle(O,A)
   \tkzDrawPoints(A,B,C,P,Q,R)
   \tkzLabelPoints(A,B,C,P,Q,R)
   \tkzDrawLine[blue](Q,R)
   \tkzDrawLines[red](Ar,Al Br,Q Cr,Cl)
   \tkzDrawSegments(A,R C,P C,Q)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
scale       = 0.75
z.A         = point: new (1,0)
z.B         = point: new (5,2)
z.C         = point: new (1.2,2)
T           = triangle: new(z.A,z.B,z.C)
z.O         = T.circumcenter
L.AB        = line: new (z.A,z.B)
L.AC        = line: new (z.A,z.C)
L.BC        = line: new (z.B,z.C)
C.OA        = circle: new (z.O,z.A)
z.Ar,z.Al   = get_points (C.OA: tangent_at (z.A))
z.Br,z.Bl   = get_points (C.OA: tangent_at (z.B))
z.Cr,z.Cl   = get_points (C.OA: tangent_at (z.C))
L.tA        = line: new (z.Ar,z.Al)
L.tB        = line: new (z.Br,z.Bl)
L.tC        = line: new (z.Cr,z.Cl)
z.P         = intersection (L.tA,L.BC)
z.Q         = intersection (L.tB,L.AC)
z.R         = intersection (L.tC,L.AB)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygon[teal](A,B,C)
  \tkzDrawCircle(O,A)
  \tkzDrawPoints(A,B,C,P,Q,R)
  \tkzLabelPoints(A,B,C,P,Q,R)
  \tkzDrawLine[blue](Q,R)
  \tkzDrawLines[red](Ar,Al Br,Q Cr,Cl)
  \tkzDrawSegments(A,R C,P C,Q)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection lemoine_line_without_macro (end)

\subsection{First Lemoine circle} % (fold)
\label{sub:first_lemoine_circle}

Draw lines through the symmedian point $L$ and parallel to the sides of the triangle. The points where the parallel lines intersect the sides of the triangle then lie on a circle known as the first Lemoine circle.  It has center at the Brocard midpoint, i.e., the midpoint of $[OL]$, where $O$ is the circumcenter and $K$ is the symmedian point

[\href{https://mathworld.wolfram.com/FirstLemoineCircle.html}{Weisstein, Eric W. "First Lemoine Circle." From MathWorld--A Wolfram Web Resource.}]

\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
   z.A      = point:  new (1,1)
   z.B      = point:  new (5,1)
   z.C      = point:  new (2.2,4)
   T        = triangle: new (z.A,z.B,z.C) 
   z.O = T.circumcenter
   C.first_lemoine = T:first_lemoine_circle()
  z.o,z.w  = get_points( C.first_lemoine )
   z.y1,z.y2         = intersection (T.ab,C.first_lemoine)
   z.y5,z.y6         = intersection (T.bc,C.first_lemoine)
   z.y3,z.y4         = intersection (T.ca,C.first_lemoine)
   z.L      = T : lemoine_point ()
\end{tkzelements}

\begin{center}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPolygons(A,B,C)
   \tkzDrawPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
   \tkzLabelPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
   \tkzDrawCircles(o,w)
   \tkzDrawLines(y1,y6 y5,y4 y2,y3 O,L)  
\end{tikzpicture}
\end{center}
\end{minipage}

\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
   z.A      = point:  new (1,1)
   z.B      = point:  new (5,1)
   z.C      = point:  new (2.2,4)
   T        = triangle: new (z.A,z.B,z.C) 
   z.O = T.circumcenter
   C.first_lemoine = T:first_lemoine_circle()
  z.o,z.w  = get_points( C.first_lemoine )
   z.y1,z.y2         = intersection (T.ab,C.first_lemoine)
   z.y5,z.y6         = intersection (T.bc,C.first_lemoine)
   z.y3,z.y4         = intersection (T.ca,C.first_lemoine)
   z.L      = T : lemoine_point ()
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPolygons(A,B,C)
   \tkzDrawPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
   \tkzLabelPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
   \tkzDrawCircles(o,w)
   \tkzDrawLines(y1,y6 y5,y4 y2,y3 O,L)  
\end{tikzpicture}
\end{Verbatim}
\end{minipage}

% subsection first_lemoine_circle (end)

\subsection{First and second Lemoine circles} % (fold)
\label{sub:first_and_second_lemoine_circles}

Draw antiparallels through the symmedian point $L$. The points where these lines intersect the sides then lie on a circle, known as the cosine circle (or sometimes the second Lemoine circle). Refer to [\ref{sub:antiparallel_through_lemoine_point}]

[\href{https://mathworld.wolfram.com/CosineCircle.html}{Weisstein, Eric W. "Cosine Circle." From MathWorld--A Wolfram Web Resource.}]


\begin{Verbatim}
\begin{tkzelements}
   scale             = 2
   z.a               = point:  new (0,0)
   z.b               = point:  new (5,0)
   z.c               = point:  new (2,3)
   T                 = triangle: new (z.a,z.b,z.c)
   z.O               = T.circumcenter
   z.o,z.p           = get_points (T : first_lemoine_circle ())
   L.ab              = line : new (z.a,z.b)
   L.ca              = line : new (z.c,z.a)
   L.bc              = line : new (z.b,z.c)
   z.L,z.x           = get_points (T : second_lemoine_circle ())
   C.first_lemoine   = circle : new (z.o,z.p)
   z.y1,z.y2         = intersection (L.ab,C.first_lemoine)
   z.y5,z.y6         = intersection (L.bc,C.first_lemoine)
   z.y3,z.y4         = intersection (L.ca,C.first_lemoine)
   C.second_lemoine  = circle : new (z.L,z.x)
   z.x1,z.x2         = intersection (L.ab,C.second_lemoine)
   z.x3,z.x4         = intersection (L.bc,C.second_lemoine)
   z.x5,z.x6         = intersection (L.ca,C.second_lemoine)
   L.y1y6            = line : new (z.y1,z.y6)
   L.y4y5            = line : new (z.y4,z.y5)
   L.y2y3            = line : new (z.y2,z.y3)
\end{tkzelements}
\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPolygons(a,b,c y1,y2,y3,y4,y5,y6)
   \tkzDrawPoints(x1,x2,x3,x4,x5,x6,L)
   \tkzDrawPoints(a,b,c,o,O,y1,y2,y3,y4,y5,y6)
   \tkzLabelPoints[below right](a,b,c,o,O,y1,y2,y3,y4,y5,y6)
   \tkzLabelPoints[below left](x1,x2,x3,x4,x5,x6)
   \tkzLabelPoints[above](L)
   \tkzDrawCircles(L,x o,p O,a)
   \tkzDrawSegments(L,O x1,x4 x2,x5 x3,x6)
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
scale     = 2
z.a   = point:  new (0,0)
z.b   = point:  new (5,0)
z.c   = point:  new (2,3)
T     = triangle: new (z.a,z.b,z.c)
z.O   = T.circumcenter
z.o,z.p   = get_points (T : first_lemoine_circle ())
L.ab      = line : new (z.a,z.b)
L.ca      = line : new (z.c,z.a)
L.bc      = line : new (z.b,z.c)
z.L,z.x   = get_points (T : second_lemoine_circle ())
C.first_lemoine   = circle : new (z.o,z.p)
z.y1,z.y2     = intersection (L.ab,C.first_lemoine)
z.y5,z.y6     = intersection (L.bc,C.first_lemoine)
z.y3,z.y4     = intersection (L.ca,C.first_lemoine)
C.second_lemoine  = circle : new (z.L,z.x)
z.x1,z.x2     = intersection (L.ab,C.second_lemoine)
z.x3,z.x4     = intersection (L.bc,C.second_lemoine)
z.x5,z.x6     = intersection (L.ca,C.second_lemoine)
L.y1y6    = line : new (z.y1,z.y6)
L.y4y5    = line : new (z.y4,z.y5)
L.y2y3    = line : new (z.y2,z.y3)
\end{tkzelements}


\begin{center}
  \begin{tikzpicture}[scale = .75]
  \tkzGetNodes
  \tkzDrawPolygons(a,b,c y1,y2,y3,y4,y5,y6)
  \tkzDrawPoints(x1,x2,x3,x4,x5,x6,L)
  \tkzDrawPoints(a,b,c,o,O,y1,y2,y3,y4,y5,y6)
  \tkzLabelPoints[below right](a,b,c,o,O,y1,y2,y3,y4,y5,y6)
  \tkzLabelPoints[below left](x1,x2,x3,x4,x5,x6)
  \tkzLabelPoints[above](L)
  \tkzDrawCircles(L,x o,p O,a)
  \tkzDrawSegments(L,O x1,x4 x2,x5 x3,x6)
  \end{tikzpicture}
\end{center}


% subsection first_and_second_lemoine_circles (end)

\subsection{Inversion} % (fold)
\label{sub:inversion}

\begin{tkzelements}
scale = .75
z.A     = point: new (-1,0)
z.B     = point: new (2,2)
z.C     = point: new (2,4)
z.E     = point: new (1,6)
C.AC    = circle:    new (z.A,z.C)
L.Tt1,L.Tt2 = C.AC: tangent_from (z.E)
z.t1    = L.Tt1.pb
z.t2    = L.Tt2.pb
L.AE    = line: new (z.A,z.E)
z.H     = L.AE : projection (z.t1)
z.Bp,
z.Ep,
z.Cp    = C.AC: inversion ( z.B, z.E, z.C )
\end{tkzelements}


\begin{minipage}{.5\textwidth}
\begin{Verbatim}
 \begin{tkzelements}
  z.A     = point: new (-1,0)
  z.B     = point: new (2,2)
  z.C     = point: new (2,4)
  z.E     = point: new (1,6)
  C.AC    = circle:    new (z.A,z.C)
  L.Tt1,
  L.Tt2   = C.AC: tangent_from (z.E)
  z.t1    = L.Tt1.pb
  z.t2    = L.Tt2.pb
  L.AE    = line: new (z.A,z.E)
  z.H     = L.AE : projection (z.t1)
  z.Bp,
  z.Ep,
  z.Cp    = C.AC: inversion ( z.B, z.E, z.C )
\end{tkzelements}

\begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPoints(A,B,C)
  \tkzDrawCircles(A,C A,B)
  \tkzDrawLines(A,B' E,t1 E,t2 t1,t2 A,E)
  \tkzDrawPoints(A,B,C,E,t1,t2,H,B',E')
  \tkzLabelPoints(A,B,C,E,t1,t2,B',E')
  \tkzLabelPoints[above](C')
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
 \begin{tikzpicture}[scale=.75]
   \tkzGetNodes
   \tkzDrawPoints(A,B,C)
   \tkzDrawCircles(A,C A,B)
   \tkzDrawLines(A,B' E,t1 E,t2 t1,t2 A,E)
   \tkzDrawPoints(A,B,C,E,t1,t2,H,B',E')
   \tkzLabelPoints(A,B,C,E,t1,t2,B',E')
   \tkzLabelPoints[above](C')
 \end{tikzpicture} 
\end{minipage}
% subsection inversion (end)


\subsection{Antiparallel through Lemoine point} % (fold)
\label{sub:antiparallel_through_lemoine_point}


\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
   z.a         = point:  new (0,0)
   z.b         = point:  new (5,0)
   z.c         = point:  new (1,4)
   T           = triangle: new (z.a,z.b,z.c)
   z.L         = T : lemoine_point ()
   L.anti      = T : antiparallel (z.L,0)
   z.x_0,z.x_1 = get_points (L.anti)
   L.anti      = T : antiparallel (z.L,1)
   z.y_0,z.y_1 = get_points (L.anti)
   L.anti      = T : antiparallel (z.L,2)
   z.z_0,z.z_1 = get_points (L.anti)
\end{tkzelements}

\begin{tikzpicture}
   \tkzGetNodes
   \tkzDrawPolygons(a,b,c)
   \tkzDrawPoints(a,b,c,L,x_0,x_1,y_0,y_1,z_0,z_1)
   \tkzLabelPoints(a,b)
   \tkzLabelPoints[above](L,c)
   \tkzDrawSegments(x_0,x_1 y_0,y_1 z_0,z_1)
   \tkzDrawCircle(L,x_0)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
z.a = point:  new (0,0)
z.b = point:  new (5,0)
z.c = point:  new (1,4)
T = triangle: new (z.a,z.b,z.c)
z.L = T : lemoine_point ()
L.anti = T : antiparallel (z.L,0)
z.x_0,z.x_1 = get_points (L.anti)
L.anti = T : antiparallel (z.L,1)
z.y_0,z.y_1 = get_points (L.anti)
L.anti = T : antiparallel (z.L,2)
z.z_0,z.z_1 = get_points (L.anti)
\end{tkzelements}

\begin{center}
  \begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawPolygons(a,b,c)
  \tkzDrawPoints(a,b,c,L,x_0,x_1,y_0,y_1,z_0,z_1)
  \tkzLabelPoints(a,b)
  \tkzLabelPoints[above](L,c)
  \tkzDrawSegments(x_0,x_1 y_0,y_1 z_0,z_1)
  \tkzDrawCircle(L,x_0)
  \end{tikzpicture}
\end{center}

\end{minipage}
% subsection antiparallel_through_lemoine_point (end)

\subsection{Soddy circle without function} % (fold)
\label{sub:soddy}

\begin{Verbatim}
\begin{tkzelements}
z.A = point : new ( 0  , 0  )
z.B = point : new ( 5  , 0  )
z.C = point : new ( 0.5 ,  4  )
T.ABC = triangle : new ( z.A,z.B,z.C )
z.I = T.ABC.incenter
z.E,z.F,z.G = T.ABC : projection (z.I)
C.ins = circle : new (z.I,z.E)
T.orthic = T.ABC : orthic ()
z.Ha,z.Hb,z.Hc = get_points (T.orthic)
C.CF = circle : new ( z.C , z.F )
C.AG = circle : new ( z.A , z.G )
C.BE = circle : new ( z.B , z.E )
L.Ah = line : new ( z.A , z.Ha )
L.Bh = line : new ( z.B , z.Hb )
L.Ch = line : new ( z.C , z.Hc )
z.X,z.Xp = intersection (L.Ah,C.AG)
z.Y,z.Yp = intersection (L.Bh,C.BE)
z.Z,z.Zp = intersection (L.Ch,C.CF)
L.XpE = line   : new (z.Xp,z.E)
L.YpF = line   : new (z.Yp,z.F)
L.ZpG = line   : new (z.Zp,z.G)
z.S = intersection (L.XpE,L.YpF)
z.Xi = intersection(L.XpE,C.AG)
z.Yi = intersection(L.YpF,C.BE)
_,z.Zi = intersection(L.ZpG,C.CF)
z.S = triangle : new (z.Xi,z.Yi,z.Zi).circumcenter
C.soddy_int = circle : new (z.S,z.Xi)
C.soddy_ext = C.ins : inversion (C.soddy_int)
z.w = C.soddy_ext.center
z.s = C.soddy_ext.through
z.Xip,z.Yip,z.Zip = C.ins : inversion (z.Xi,z.Yi,z.Zi)
\end{tkzelements}

\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygon(A,B,C)
\tkzDrawPoints(A,B,C,E,F,G,Ha,Hb,Hc,X,Y,Z,X',Y',Z',Xi,Yi,Zi,I)
\tkzDrawPoints(Xi',Yi',Zi',S)
\tkzLabelPoints(A,B,C,E,F,G,X,Y,Z,X',Y',Z')
\tkzDrawCircles(A,G B,E C,F I,E S,Xi w,s)
\tkzDrawLines(X',Ha Y',Hb Z',Hc)
\tkzDrawLines(X',E Y',F Z',G)
\end{tikzpicture}
\end{Verbatim}

\begin{tkzelements}
z.A = point : new ( 0  , 0  )
z.B = point : new ( 5  , 0  )
z.C = point : new ( 0.5 ,  4  )
T.ABC = triangle : new ( z.A,z.B,z.C )
z.I = T.ABC.incenter
z.E,z.F,z.G = T.ABC : projection (z.I)
C.ins = circle : new (z.I,z.E)
T.orthic = T.ABC : orthic ()
z.Ha,z.Hb,z.Hc = get_points (T.orthic)
C.CF = circle : new ( z.C , z.F )
C.AG = circle : new ( z.A , z.G )
C.BE = circle : new ( z.B , z.E )
L.Ah = line : new ( z.A , z.Ha )
L.Bh = line : new ( z.B , z.Hb )
L.Ch = line : new ( z.C , z.Hc )
z.X,z.Xp = intersection (L.Ah,C.AG)
z.Y,z.Yp = intersection (L.Bh,C.BE)
z.Z,z.Zp = intersection (L.Ch,C.CF)
L.XpE = line   : new (z.Xp,z.E)
L.YpF = line   : new (z.Yp,z.F)
L.ZpG = line   : new (z.Zp,z.G)
z.S = intersection (L.XpE,L.YpF)
z.Xi = intersection(L.XpE,C.AG)
z.Yi = intersection(L.YpF,C.BE)
_,z.Zi = intersection(L.ZpG,C.CF)
z.S = triangle : new (z.Xi,z.Yi,z.Zi).circumcenter
C.soddy_int = circle : new (z.S,z.Xi)
C.soddy_ext = C.ins : inversion (C.soddy_int)
z.w = C.soddy_ext.center
z.s = C.soddy_ext.through
z.Xip,z.Yip,z.Zip = C.ins : inversion (z.Xi,z.Yi,z.Zi)
\end{tkzelements}

\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygon(A,B,C)
\tkzDrawPoints(A,B,C,E,F,G,Ha,Hb,Hc,X,Y,Z,X',Y',Z',Xi,Yi,Zi,I)
\tkzDrawPoints(Xi',Yi',Zi',S)
\tkzLabelPoints(A,B,C,E,F,G,X,Y,Z,X',Y',Z')
\tkzDrawCircles(A,G B,E C,F I,E S,Xi w,s)
\tkzDrawLines(X',Ha Y',Hb Z',Hc)
\tkzDrawLines(X',E Y',F Z',G)
\end{tikzpicture}
% subsection soddy (end)

\subsection{Soddy circle with function} % (fold)
\label{sub:soddy_circle_with_function}

\begin{tkzelements}
z.A = point : new ( 0  , 0  )
z.B = point : new ( 5  , 0  )
z.C = point : new (4 ,  4  )
T.ABC = triangle : new ( z.A,z.B,z.C )
z.I = T.ABC.incenter
z.E,z.F,z.G = T.ABC : projection (z.I)
T.orthic = T.ABC : orthic ()
z.Ha,z.Hb,z.Hc = get_points (T.orthic)
C.ins = circle : new (z.I,z.E)
z.s,z.xi,z.yi,z.zi = T.ABC : soddy_center ()
C.soddy_int = circle : new (z.s,z.xi)
C.soddy_ext = C.ins : inversion (C.soddy_int)
z.w = C.soddy_ext.center
z.t = C.soddy_ext.through
z.Xip,z.Yip,z.Zip = C.ins : inversion (z.xi,z.yi,z.zi)
\end{tkzelements}

\begin{minipage}{.5\textwidth}
  \begin{Verbatim}
  \begin{tkzelements}
  z.A = point : new ( 0  , 0  )
  z.B = point : new ( 5  , 0  )
  z.C = point : new (4 ,  4  )
  T.ABC = triangle : new ( z.A,z.B,z.C )
  z.I = T.ABC.incenter
  z.E,z.F,z.G = T.ABC : projection (z.I)
  T.orthic = T.ABC : orthic ()
  z.Ha,z.Hb,z.Hc = get_points (T.orthic)
  C.ins = circle : new (z.I,z.E)
  z.s,z.xi,z.yi,
  z.zi = T.ABC : soddy_center ()
  C.soddy_int = circle : new (z.s,z.xi)
  C.soddy_ext = C.ins : inversion (C.soddy_int)
  z.w = C.soddy_ext.center
  z.t = C.soddy_ext.through
  z.Xip,z.Yip,
  z.Zip = C.ins : inversion (z.xi,z.yi,z.zi)
  \end{tkzelements}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tikzpicture}[scale=.6]
\tkzGetNodes
\tkzDrawPolygon(A,B,C)
\tkzDrawCircles(A,G B,E C,F I,E s,xi w,t)
\tkzDrawPoints(A,B,C,E,F,G,s,w,xi,t)
\tkzLabelPoints(A,B,C)
\tkzDrawPoints(A,B,C,E,F,G,Ha,Hb,Hc,xi,yi,zi,I)
\tkzDrawPoints(Xi',Yi',Zi')
\tkzLabelPoints(A,B,C,E,F,G)
\end{tikzpicture}
\end{minipage}

\begin{Verbatim}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygon(A,B,C)
\tkzDrawCircles(A,G B,E C,F I,E s,xi w,t)
\tkzDrawPoints(A,B,C,E,F,G,s,w,xi,t)
\tkzLabelPoints(A,B,C)
\tkzDrawPoints(A,B,C,E,F,G,Ha,Hb,Hc,xi,yi,zi,I)
\tkzDrawPoints(Xi',Yi',Zi')
\tkzLabelPoints(A,B,C,E,F,G)
\end{tikzpicture}
\end{Verbatim}
% subsection soddy_circle_with_function (end)

\subsection{Pappus chain} % (fold)
\label{sub:pappus_chain}

\begin{tkzelements}
  scale =.75
   xC,nc    = 10,16
   xB       = xC/tkzphi
   xD       = (xC*xC)/xB
   xJ       = (xC+xD)/2
   r        = xD-xJ
   z.A      = point : new ( 0 , 0 )
   z.B      = point : new ( xB , 0)
   z.C      = point : new ( xC , 0)
   L.AC     = line : new (z.A,z.C)
   z.i      = L.AC.mid
   L.AB     = line:new (z.A,z.B)
   z.j      = L.AB.mid
   z.D      = point : new ( xD , 0)
   C.AC     = circle: new (z.A,z.C)
   for i    = -nc,nc do
      z["J"..i]   = point: new (xJ,2*r*i)
      z["H"..i]   = point: new (xJ,2*r*i-r)
      z["J"..i.."p"], z["H"..i.."p"]   = C.AC : inversion (z["J"..i],z["H"..i])
      L.AJ        = line : new (z.A,z["J"..i])
      C.JH        = circle: new ( z["J"..i] ,  z["H"..i])
      z["S"..i], z["T"..i]             = intersection (L.AJ,C.JH)
      z["S"..i.."p"], z["T"..i.."p"]   = C.AC : inversion (z["S"..i],z["T"..i])
      L.SpTp      = line:new (  z["S"..i.."p"], z["T"..i.."p"])
      z["I"..i]   = L.SpTp.mid
    end
\end{tkzelements}

\begin{Verbatim}
\begin{tkzelements}
  xC,nc    = 10,16
  xB       = xC/tkzphi
  xD       = (xC*xC)/xB
  xJ       = (xC+xD)/2
  r        = xD-xJ
  z.A      = point : new ( 0 , 0 )
  z.B      = point : new ( xB , 0)
  z.C      = point : new ( xC , 0)
  L.AC     = line : new (z.A,z.C)
  z.i      = L.AC.mid
  L.AB     = line:new (z.A,z.B)
  z.j      = L.AB.mid
  z.D      = point : new ( xD , 0)
  C.AC     = circle: new (z.A,z.C)
  for i    = -nc,nc do
     z["J"..i]   = point: new (xJ,2*r*i)
     z["H"..i]   = point: new (xJ,2*r*i-r)
     z["J"..i.."p"], z["H"..i.."p"]   = C.AC : inversion (z["J"..i],z["H"..i])
     L.AJ        = line : new (z.A,z["J"..i])
     C.JH        = circle: new ( z["J"..i] ,  z["H"..i])
     z["S"..i], z["T"..i]             = intersection (L.AJ,C.JH)
     z["S"..i.."p"], z["T"..i.."p"]   = C.AC : inversion (z["S"..i],z["T"..i])
     L.SpTp      = line:new (  z["S"..i.."p"], z["T"..i.."p"])
     z["I"..i]   = L.SpTp.mid
   end
\end{tkzelements}
\end{Verbatim}

\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\def\nc{\tkzUseLua{nc}}
\begin{tikzpicture}[ultra thin]
   \tkzGetNodes
   \tkzDrawCircle[fill=teal!20](i,C)
   \tkzDrawCircle[fill=PineGreen!60](j,B)
   \foreach \i in {-\nc,...,0,...,\nc} {
   \tkzDrawCircle[fill=teal]({I\i},{S\i'})
  }
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
 \def\nc{\tkzUseLua{nc}}

 \begin{tikzpicture}[ultra thin]
    \tkzGetNodes
    \tkzDrawCircle[fill=teal!20](i,C)
    \tkzDrawCircle[fill=PineGreen!60](j,B)
    \foreach \i in {-\nc,...,0,...,\nc} {
    \tkzDrawCircle[fill=teal]({I\i},{S\i'})
   }
 \end{tikzpicture} 
 \vfill
\end{minipage}
% subsection pappus_chain (end)

\subsection{Three Circles} % (fold)
\label{sub:three_circles}

\begin{tkzelements}
function threecircles(c1,r1,c2,r2,c3,h1,h3,h2)
   local xk = math.sqrt (r1*r2)
   local cx = (2*r1*math.sqrt(r2))/(math.sqrt(r1)+math.sqrt(r2))
   local cy = (r1*r2)/(math.sqrt(r1)+math.sqrt(r2))^2
   z[c2] = point : new ( 2*xk , r2 )
   z[h2] = point : new (2*xk,0)
   z[c1] = point : new (0,r1)
   z[h1] = point : new (0,0)
   L.h1h2 = line: new(z[h1],z[h2])
   z[c3] = point : new (cx,cy)
   z[h3] = L.h1h2: projection (z[c3])
end
   threecircles("A",4,"B",3,"C","E","G","F")
\end{tkzelements}

\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
function threecircles(c1,r1,c2,r2,c3,h1,h3,h2)
   local xk = math.sqrt (r1*r2)
   local cx = (2*r1*math.sqrt(r2))/(math.sqrt(r1)+math.sqrt(r2))
   local cy = (r1*r2)/(math.sqrt(r1)+math.sqrt(r2))^2
   z[c2] = point : new ( 2*xk , r2 )
   z[h2] = point : new (2*xk,0)
   z[c1] = point : new (0,r1)
   z[h1] = point : new (0,0)
   L.h1h2 = line: new(z[h1],z[h2])
   z[c3] = point : new (cx,cy)
   z[h3] = L.h1h2: projection (z[c3])
end
   threecircles("A",4,"B",3,"C","E","G","F")
\end{tkzelements}

\begin{tikzpicture}
  \tkzGetNodes
  \tkzDrawSegment[color = red](E,F)
  \tkzDrawCircle[orange,fill=orange!20](A,E)
  \tkzDrawCircle[purple,fill=purple!20](B,F)
  \tkzDrawCircle[teal,fill=teal!20](C,G)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tikzpicture}[scale=.5]
\tkzGetNodes
\tkzDrawSegment[color = red](E,F)
\tkzDrawCircle[orange,fill=orange!20](A,E)
\tkzDrawCircle[purple,fill=purple!20](B,F)
\tkzDrawCircle[teal,fill=teal!20](C,G)
\end{tikzpicture}
\end{minipage}
% subsection three_circles (end)

\subsection{p
Pentagons in a golden arbelos} % (fold)
\label{sub:golden_arbelos}

\begin{tkzelements}
z.A      = point: new (0 , 0)
z.B      = point: new (10 , 0)
L.AB     = line:  new ( z.A, z.B)
z.C      = L.AB : gold_ratio ()
L.AC     = line:  new ( z.A, z.C)
L.CB     = line:  new ( z.C, z.B)
z.O_0    = L.AB.mid
z.O_1    = L.AC.mid
z.O_2    = L.CB.mid
C.O0B    = circle: new ( z.O_0, z.B)
C.O1C    = circle: new ( z.O_1, z.C)
C.O2B    = circle: new ( z.O_2, z.B)
z.M_0    = C.O1C:external_similitude(C.O2B)
L.O0C    = line:new(z.O_0,z.C)
T.golden = L.O0C : golden ()
z.L      = T.golden.pc
L.O0L    = line:new(z.O_0,z.L)
z.D      = intersection (L.O0L,C.O0B)
L.DB     = line:new(z.D,z.B)
_,z.Z      = intersection (L.DB,C.O2B)
L.DA     = line:new(z.D,z.A)
z.I      = intersection (L.DA,C.O1C)
L.O2Z    = line:new(z.O_2,z.Z)
z.H      = intersection (L.O2Z,C.O0B)
C.BD     = circle:new (z.B,z.D)
C.DB     = circle:new (z.D,z.B)
_,z.G    = intersection (C.BD,C.O0B)
z.E      = intersection (C.DB,C.O0B)
C.GB     = circle:new (z.G,z.B)
_,z.F    = intersection (C.GB,C.O0B)
k        = 1/tkzphi^2
kk       = tkzphi
z.D_1,z.E_1,z.F_1,z.G_1 = z.B :   homothety (k, z.D,z.E,z.F,z.G)
z.D_2,z.E_2,z.F_2,z.G_2 = z.M_0 : homothety (kk,z.D_1,z.E_1,z.F_1,z.G_1)
\end{tkzelements}

\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
  z.A      = point: new (0 , 0)
  z.B      = point: new (10 , 0)
  L.AB     = line:  new ( z.A, z.B)
  z.C      = L.AB : gold_ratio ()
  L.AC     = line:  new ( z.A, z.C)
  L.CB     = line:  new ( z.C, z.B)
  z.O_0    = L.AB.mid
  z.O_1    = L.AC.mid
  z.O_2    = L.CB.mid
  C.O0B    = circle: new ( z.O_0, z.B)
  C.O1C    = circle: new ( z.O_1, z.C)
  C.O2B    = circle: new ( z.O_2, z.B)
  z.M_0    = C.O1C:external_similitude(C.O2B)
  L.O0C    = line:new(z.O_0,z.C)
  T.golden = L.O0C : golden ()
  z.L      = T.golden.pc
  L.O0L    = line:new(z.O_0,z.L)
  z.D      = intersection (L.O0L,C.O0B)
  L.DB     = line:new(z.D,z.B)
  z.Z      = intersection (L.DB,C.O2B)
  L.DA     = line:new(z.D,z.A)
  z.I      = intersection (L.DA,C.O1C)
  L.O2Z    = line:new(z.O_2,z.Z)
  z.H      = intersection (L.O2Z,C.O0B)
  C.BD     = circle:new (z.B,z.D)
  C.DB     = circle:new (z.D,z.B)
  _,z.G    = intersection (C.BD,C.O0B)
  z.E      = intersection (C.DB,C.O0B)
  C.GB     = circle:new (z.G,z.B)
  _,z.F    = intersection (C.GB,C.O0B)
  k        = 1/tkzphi^2
  kk       = tkzphi
  z.D_1,z.E_1,z.F_1,z.G_1 = z.B :   homothety (k, z.D,z.E,z.F,z.G)
  z.D_2,z.E_2,z.F_2,z.G_2 = z.M_0 : homothety (kk,z.D_1,z.E_1,z.F_1,z.G_1)
\end{tkzelements}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
  \hfill
\begin{tikzpicture}[scale=.7]
\tkzGetNodes
\tkzDrawPolygon[red](O_2,O_0,I,D,H)
\tkzDrawPolygon[blue](B,D_1,E_1,F_1,G_1)
\tkzDrawPolygon[green](C,D_2,E_2,F_2,G_2)
\tkzDrawPolygon[purple](B,D,E,F,G)
\tkzDrawCircles(O_0,B O_1,C O_2,B)
\tkzFillPolygon[fill=red!20,opacity=.20](O_2,O_0,I,D,H)
\tkzFillPolygon[fill=blue!20,opacity=.20](B,D_1,E_1,F_1,G_1)
\tkzFillPolygon[fill=green!60,opacity=.20](C,D_2,E_2,F_2,G_2)
\tkzFillPolygon[fill=purple!20,opacity=.20](B,D,E,F,G)
\tkzDrawCircles(O_0,B O_1,C O_2,B)
\tkzDrawSegments[new](A,B)
\tkzDrawPoints(A,B,C,O_0,O_1,O_2,Z,I,H,B,D,E,F)
\tkzDrawPoints(D_1,E_1,F_1,G_1)
\tkzDrawPoints(D_2,E_2,F_2,G_2)
\tkzDrawPoints[red](F_1)
\tkzLabelPoints(A,B,C,O_0,O_2)
\tkzLabelPoints[below](O_1,G)
\tkzLabelPoints[above right](D,H)
\tkzLabelPoints[above left](E,E_1,E_2)
\tkzLabelPoints[below left](F,F_1,F_2)
\tkzLabelPoints(D_1,G_1)
\tkzLabelPoints(D_2,G_2)
\end{tikzpicture}
\end{minipage}

\begin{Verbatim}
\begin{tikzpicture}[scale=.8]
\tkzGetNodes
\tkzDrawPolygon[red](O_2,O_0,I,D,H)
\tkzDrawPolygon[blue](B,D_1,E_1,F_1,G_1)
\tkzDrawPolygon[green](C,D_2,E_2,F_2,G_2)
\tkzDrawPolygon[purple](B,D,E,F,G)
\tkzDrawCircles(O_0,B O_1,C O_2,B)
\tkzFillPolygon[fill=red!20,opacity=.20](O_2,O_0,I,D,H)
\tkzFillPolygon[fill=blue!20,opacity=.20](B,D_1,E_1,F_1,G_1)
\tkzFillPolygon[fill=green!60,opacity=.20](C,D_2,E_2,F_2,G_2)
\tkzFillPolygon[fill=purple!20,opacity=.20](B,D,E,F,G)
\tkzDrawCircles(O_0,B O_1,C O_2,B)
\tkzDrawSegments[new](A,B)
\tkzDrawPoints(A,B,C,O_0,O_1,O_2,Z,I,H,B,D,E,F)
\tkzDrawPoints(D_1,E_1,F_1,G_1)
\tkzDrawPoints(D_2,E_2,F_2,G_2)
\tkzDrawPoints[red](F_1)
\tkzLabelPoints(A,B,C,O_0,O_2)
\tkzLabelPoints[below](O_1,G)
\tkzLabelPoints[above right](D,H)
\tkzLabelPoints[above left](E,E_1,E_2)
\tkzLabelPoints[below left](F,F_1,F_2)
\tkzLabelPoints(D_1,G_1)
\tkzLabelPoints(D_2,G_2)
\end{tikzpicture}
\end{Verbatim}

% subsection golden_arbelos (end)
% section examples (end)