\documentclass{standalone}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}
\tkzDefPoints{0/0/A,9/0/B,3/6/C};
\draw[blue] (A)--(B)--(C)--(A);
\node[below] at (A) {$A$};
\node[below] at (B) {$B$};
\node[above] at (C) {$C$};
\tkzDefMidPoint(A,B) \tkzGetPoint{C1}
\tkzDefMidPoint(A,C) \tkzGetPoint{B1}
\tkzDefMidPoint(B,C) \tkzGetPoint{A1}
\node[right] at (A1) {$A_1$};
\node[left] at (B1) {$B_1$};
\node[below] at (C1) {$C_1$};
\draw[blue!50!cyan!50] (A)--(A1);
\draw[blue!50!cyan!50] (B)--(B1);
\draw[blue!50!cyan!50] (C)--(C1);
\tkzInterLL(A,A1)(B,B1) \tkzGetPoint{G}
\node[below] at (G) {$G$};
\tkzCircumCenter(A,G,C1) \tkzGetPoint{O1}
\tkzCircumCenter(B,G,C1) \tkzGetPoint{O6}
\tkzCircumCenter(B,G,A1) \tkzGetPoint{O5}
\tkzCircumCenter(C,G,A1) \tkzGetPoint{O4}
\tkzCircumCenter(C,G,B1) \tkzGetPoint{O3}
\tkzCircumCenter(A,G,B1) \tkzGetPoint{O2}
\fill[blue] (O2) circle (.02);
\tkzCircumCenter(O1,O3,O5) \tkzGetPoint{K}
\tkzDrawCircle[color=brown, thin](K,O1)
\node[right] at (K) {$K$};
\tkzDrawCircle[color=cyan, thin](O1,A);
\tkzDrawCircle[color=cyan, thin](O2,A);
\tkzDrawCircle[color=cyan, thin](O3,C);
\tkzDrawCircle[color=cyan, thin](O4,C);
\tkzDrawCircle[color=cyan, thin](O6,B);
\tkzDrawCircle[color=cyan, thin](O5,B);
\draw[green, thin] (O1)--(O2)--(O3)--(O4)--(O5)--(O6)--(O1);
\fill[red] (G) circle (.02);
\fill[blue] (O1) circle (.02);
\fill[blue] (O6) circle (.02);
\fill[blue] (O5) circle (.02);
\fill[blue] (O4) circle (.02);
\fill[blue] (O3) circle (.02);
\fill[brown] (K) circle (.02);
\end{tikzpicture}
\end{document}