Apollonius circle with inversion
[PDF] [TEX]
% !TEX TS-program = lualatex
% Created by Alain Matthes on 2023.
\documentclass{standalone}
\usepackage{tkz-euclide}
\usepackage{tkz-elements}
\begin{document}
\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 : set_inversion (z.Ea,z.Eb,z.Ec)
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
\tkzFillCircles[green!30](O,xa)
\tkzFillCircles[teal!30](Ja,Ea Jb,Eb Jc,Ec)
\tkzFillCircles[lightgray](S,a)
\tkzFillCircles[green!30](N,Ea)
\tkzDrawPoints(xa,xb,xc)
\tkzClipCircle(O,xa)
\tkzDrawLines[add=3 and 3](A,B A,C B,C)
\tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec S,a O,xa N,Ea)
\tkzDrawPoints(O,A,B,C,S,Ea,Eb,Ec,N)
\tkzDrawSegments[dashed](S,xa S,xb S,xc)
\tkzLabelPoints(O,N,A,B)
\tkzLabelPoints[right](S,C)
\end{tikzpicture}
\end{document}