\begin{tikzpicture}[extended line/.style={shorten >=-#1,shorten <=-#1},extended line/.default=1.2cm] \tkzDefPoint(0,0){o} \tkzDefPoint(2,0){a} \tkzDefPoint(0:3.2){Dcenter}\tkzDefPoint(0:2.3){Dpoint} \tkzDrawCircle[color=blue](o,a) \tkzDrawCircle[color=red](Dcenter,Dpoint) \tkzDefPoint(30:3){p} \tkzDefPointBy[inversion = center Dcenter through Dpoint](p) \tkzGetPoint{q} \draw[dashed, extended line, <->] (p)--(q); \tkzDefPoint[thin](35:4){w1} \tkzCircumCenter(p,q,w1)\tkzGetPoint{Ecenter} \tkzDrawCircle[thin](Ecenter,p) \tkzDefPointBy[inversion = center o through a](q) \tkzGetPoint{q*} \tkzDefPoint(30:4/3){p*} \tkzDefPoint(35:1){w1*} \tkzCircumCenter(p*,q*,w1*)\tkzGetPoint{Ecenter*} \tkzDrawCircle[thin](Ecenter*,p*) \tkzCircumCenter(p*,q*,o)\tkzGetPoint{Fcenter*} \tkzDrawCircle[dashed](Fcenter*,p*) \tkzDefPoint(0:4/2.3){Dpoint*} \tkzDefPoint(3.2,.9){d1} \tkzDefPointBy[inversion = center o through a](d1) \tkzGetPoint{d1*} \tkzDefPoint(3.2,-.9){d2} \tkzDefPointBy[inversion = center o through a](d2) \tkzGetPoint{d2*} \tkzCircumCenter(Dpoint*,d1*,d2*)\tkzGetPoint{Dcenter*} \tkzDrawCircle[color=red](Dcenter*,Dpoint*) \tkzDrawPoints[fill=red](p,q) \tkzDrawPoints(o,q*,p*) \tkzLabelPoint[left](p){\(p\)} \tkzLabelPoint[right](q){\(q\)} \tkzLabelPoint[above right=-3pt](p*){\(p^*\)} \tkzLabelPoint[below right=-5pt](q*){\(q^*\)} \draw (120:2.2) node{\(C\)}; \draw (2.5,2.5) node{\(F\)}; \draw (Ecenter)++(60:1.25) node{\(E\)}; \draw (Dcenter)++(270:1.15) node{\(D\)}; \draw (Dcenter*)++(300:.6) node{\(D^*\)}; \draw (Ecenter*)++(180:.5) node{\(E^*\)}; \draw (Fcenter*)++(240:.9) node{\(F^*\)}; \end{tikzpicture}