Apollonius

Exemple 1

Exemple 1.


[PDF] [TEX]

\documentclass{scrartcl} 
\usepackage{tkz-euclide} %v2.41
\begin{document}  
\begin{tikzpicture}[scale=.6,trim left = -2cm]
    \tkzDefPoints{%  x    y    name
                     0    /0    /A,
                     6    /0    /B,
                     0.8  /4    /C}
%   -------------------------------------------------------------               
    \tkzEulerCenter(A,B,C)                      \tkzGetPoint{N} 
    \tkzCircumCenter(A,B,C)                      \tkzGetPoint{O}
    \tkzLemoinePoint(A,B,C)                      \tkzGetPoint{K}
    \tkzOrthoCenter(A,B,C)                       \tkzGetPoint{H}
    \tkzDefMidPoint(A,B)                         \tkzGetPoint{M}    
    \tkzDefExCircle(A,B,C)      \tkzGetPoint{Jb} \tkzGetLength{rb}
    \tkzDefExCircle(C,A,B)      \tkzGetPoint{Ja} \tkzGetLength{ra}
    \tkzDefExCircle(B,C,A)      \tkzGetPoint{Jc} \tkzGetLength{rc}  
    \tkzDefPointBy[projection=onto A--C ](Ja)    \tkzGetPoint{Za}
    \tkzDefPointBy[projection=onto A--B ](Ja)    \tkzGetPoint{Xa}
    \tkzDefPointBy[projection=onto A--C ](Jc)    \tkzGetPoint{Zc}
    \tkzDefPointBy[projection=onto B--C ](Jc)    \tkzGetPoint{Yc}
    \tkzDefPointBy[projection=onto B--C ](Jb)    \tkzGetPoint{Yb}
    \tkzDefPointBy[projection=onto A--B ](Jb)    \tkzGetPoint{Xb}
    \tkzDefLine[parallel=through Za](A,B)        \tkzGetPoint{Xc}
    \tkzInterLL(Za,Xc)(C,B)                      \tkzGetPoint{C'}
    \tkzDefLine[parallel=through Zc](B,C)        \tkzGetPoint{Ya}
    \tkzInterLL(Zc,Ya)(A,B)                      \tkzGetPoint{A'}
    \tkzDefPointBy[reflection= over Ja--Jc](C')  \tkzGetPoint{Ab}
    \tkzDefPointBy[reflection= over Ja--Jc](A')  \tkzGetPoint{Cb}
    \tkzDefCentroidTriangle(A,B,C){Ma,Mb,Mc}
    \tkzDefCircle[in](Ma,Mb,Mc)                  \tkzGetPoint{Sp}
    \tkzInterLL(K,O)(N,Sp)                       \tkzGetPoint{Q}
    % or \tkzDrawCircle[circum](Ab,Cb,Ca)    \tkzGetPoint{Q}
    \tkzInterLC(A,B)(Q,Cb)                       \tkzGetSecondPoint{Ba}
    \tkzInterLC(A,C)(Q,Cb)                       \tkzGetPoints{Ca}{Ac}
    \tkzInterLC(B,C')(Q,Cb)                      \tkzGetSecondPoint{Bc}
    \tkzInterLC(Q,Ja)(Q,Cb)                      \tkzGetSecondPoint{F'a}
    \tkzInterLC(Q,Jc)(Q,Cb)                      \tkzGetSecondPoint{F'c}
    \tkzInterLC(Q,Jb)(Q,Cb)                      \tkzGetSecondPoint{F'b}
    \tkzInterLC(Sp,F'a)(Ja,Za)                   \tkzGetFirstPoint{Fa}
    \tkzInterLC(Sp,F'b)(Jb,Yb)                   \tkzGetFirstPoint{Fb}
    \tkzInterLC(Sp,F'c)(Jc,Yc)                   \tkzGetSecondPoint{Fc}
    \tkzInterLC(M,Sp)(Q,Cb)                      \tkzGetSecondPoint{A''}
    \tkzDefLine[parallel=through A''](N,M)       \tkzGetPoint{q}
%   -------------------------------------------------------------               
    \pgfresetboundingbox
%   -------------------------------------------------------------               
    \tkzDrawPolygon(A,B,C) 
    \tkzDrawCircle(Q,Bc)%
    \tkzDrawCircle[euler,lightgray](A,B,C) 

    \tkzDrawCircle[R,lightgray](Jb,\rb pt)
    \tkzDrawCircle[R,lightgray](Ja,\ra pt)
    \tkzDrawCircle[R,lightgray](Jc,\rc pt)
    \tkzDrawSegments[dashed](A,A'  C,C' A',Zc Za,C' 
                              B,Cb B,Ab A,Ca C,Ac 
                              Ja,Xa Jb,Yb Jc,Zc)
    \begin{scope}
        \tkzClipCircle(Q,Cb)
        \tkzDrawLine[add=5 and 12,orange](K,O)
        \tkzDrawLine[add=12 and 28,blue!50!black](N,Sp)
    \end{scope}
    \tkzDrawPoints(A, B, C,
                         Ja, Jb, Jc,
                         Q, N, O, Sp, M,
                         Xa, Xb, Yb, Yc, Za, Zc,
                         A', C', A'',
                         Ab, Cb, Bc, Ca, Ac, Ba,
                         Fa, Fb, Fc,
                         F'a, F'b, F'c)
    \tkzLabelPoints(Ja, Jb, Jc, Q, Xa, Xb,
                    Za, Zc, Ab, Cb,
                    Bc, Ca, Ac, Ba, F'b)
    \tkzLabelPoints[above](O, K, F'a, Fa, A'')
    \tkzLabelPoints[below](B, F'c, Yc, N, Sp, Fc, M)
    \tkzLabelPoints[left](A', C', Fb)
    \tkzLabelPoints[right](C)
    \tkzLabelPoints[below right](A)
    \tkzLabelPoints[above right](Yb)
    \tkzDrawSegments[color=green!50!black](M,N M,A'' A'',Q)  
    \tkzDrawSegments[color=purple,dashed](Ac,Ab Ca,Cb Ba,Bc Ja,Jc A',Cb C',Ab)
    \tkzDrawSegments[color=purple](Cb,Ab Bc,Ac Ba,Ca A',C')     \tkzMarkSegments[color=purple,mark=|](Cb,Ab Bc,Ac Ba,Ca)
    \tkzMarkRightAngles(Jc,Zc,A Ja,Xa,B Jb,Yb,C)
\end{tikzpicture}
  
\end{document}