Diagram

Three Circles and an Incircle Inversion for Problem 4941

The three-circle configuration and the contact-triangle construction used in the inversion solution to Crux Mathematicorum Problem 4941.

Drawing tool: tkz-euclideSource available

Completed figures

A scalene triangle ABC with circumcircle Gamma and incircle gamma. The three circles Gamma A, Gamma B, and Gamma C pass through I and meet again at J star on the line OI.
The three circles and their second common point on the line OI.
The contact triangle DEF and its medial triangle PQR. The circumcenter J of PQR lies on OI; the lines JP, JQ, and JR are respectively parallel to ID, IE, and IF.
The contact triangle, its medial triangle, and the concurrent lines used in the inversion.

Complete source

Original configuration

% Figure for Crux Mathematicorum Problem 4941
% Site: Elementary Geometry
% Website: https://elementarygeometry.org/
% Drawing tool: tkz-euclide
% Output format: SVG
% Last verified: 2026-08-30
%
% Original configuration.
% Editable source for public/diagrams/crux-4941-three-circles.svg.
% The exact 3-4-5 triangle keeps the three auxiliary circles and their
% second common point in a compact, verifiable configuration.
% Accent target: J^{\ast} point
% Scale is 1.0; the 0.7 similarity factor is absorbed into the seed coordinates.
% The web build does not compile TeX; export and review the SVG separately.
\documentclass[tikz,border=8pt]{standalone}
\usepackage{tkz-euclide}
\usepackage{amsmath,amssymb}
\usetikzlibrary{intersections,calc,angles,quotes}

\definecolor{egNavy}{HTML}{17243D}
\definecolor{egGray}{HTML}{777671}
\definecolor{egRust}{HTML}{92513F}
\newcommand{\egUseStandardPlateAt}[1]{%
  \pgfresetboundingbox
  \path[use as bounding box]
    ([xshift=-102pt,yshift=-80pt]#1)
    rectangle
    ([xshift=102pt,yshift=80pt]#1);%
}
\newcommand{\egUseStandardPlate}{%
  \coordinate (egPlateCenter) at (current bounding box.center);%
  \egUseStandardPlateAt{egPlateCenter}%
}
\tikzset{
  eg figure/.style={line cap=round,line join=round,every node/.append style={font=\normalsize,text=egNavy}},
  eg main/.style={draw=egNavy,line width=0.75pt},
  eg support/.style={draw=egGray,line width=0.52pt},
  eg support dashed/.style={draw=egGray,line width=0.52pt,dash pattern=on 3pt off 3pt},
  eg accent/.style={draw=egRust,line width=0.75pt},
  eg mark/.style={draw=egNavy,line width=0.50pt}
}

\begin{document}
\begin{tikzpicture}[eg figure,scale=1.0]
  \begin{scope}
  \clip (-3.6,-1.6) rectangle (2.9,3.3);

  % A uniform 0.7 image of the exact 3-4-5 triangle is the only coordinate seed.
  \tkzDefPoint(-0.7,2.1){A}
  \tkzDefPoint(-0.7,0){B}
  \tkzDefPoint(2.1,0){C}

  % Triangle centers and contact points.
  \tkzDefTriangleCenter[in](A,B,C)\tkzGetPoint{I}
  \tkzDefTriangleCenter[circum](A,B,C)\tkzGetPoint{O}
  \tkzDefPointBy[projection=onto B--C](I)\tkzGetPoint{D}
  \tkzDefPointBy[projection=onto C--A](I)\tkzGetPoint{E}
  \tkzDefPointBy[projection=onto A--B](I)\tkzGetPoint{F}

  % Contact-triangle intersections and their circumcenter.
  \tkzInterLL(I,A)(E,F)\tkzGetPoint{P}
  \tkzInterLL(I,B)(F,D)\tkzGetPoint{Q}
  \tkzInterLL(I,C)(D,E)\tkzGetPoint{R}
  \tkzDefTriangleCenter[circum](P,Q,R)\tkzGetPoint{J}

  % J* is the inverse of J in the incircle.
  \tkzDefPointBy[inversion=center I through D](J)\tkzGetPoint{Jstar}

  % Each auxiliary circle passes through its vertex and is tangent at I
  % to the corresponding radius ID, IE, or IF.
  \tkzDefLine[mediator](A,I)\tkzGetPoints{medAone}{medAtwo}
  \tkzDefLine[orthogonal=through I](I,D)\tkzGetPoint{perpA}
  \tkzInterLL(medAone,medAtwo)(I,perpA)\tkzGetPoint{centerA}

  \tkzDefLine[mediator](B,I)\tkzGetPoints{medBone}{medBtwo}
  \tkzDefLine[orthogonal=through I](I,E)\tkzGetPoint{perpB}
  \tkzInterLL(medBone,medBtwo)(I,perpB)\tkzGetPoint{centerB}

  \tkzDefLine[mediator](C,I)\tkzGetPoints{medCone}{medCtwo}
  \tkzDefLine[orthogonal=through I](I,F)\tkzGetPoint{perpC}
  \tkzInterLL(medCone,medCtwo)(I,perpC)\tkzGetPoint{centerC}

  \tkzDrawSegment[eg main](Jstar,O)
  \tkzDrawSegments[eg support](I,D I,E I,F)

  \tkzDrawCircle[eg support](O,A)
  \tkzDrawCircle[eg main](I,D)
  \tkzDrawCircle[eg main](centerA,I)
  \tkzDrawCircle[eg main](centerB,I)
  \tkzDrawCircle[eg main](centerC,I)

  \tkzDrawPolygon[eg main](A,B,C)

  \tkzDrawPoints[color=egNavy,fill=egNavy,size=1.6](A,B,C,D,E,F,I,O)
  \tkzDrawPoint[color=egRust,fill=egRust,size=1.6](Jstar)

  \tkzLabelPoint[above,yshift=2pt](A){$A$}
  \tkzLabelPoint[below](B){$B$}
  \tkzLabelPoint[right](C){$C$}
  \tkzLabelPoint[below](D){$D$}
  \tkzLabelPoint[above right](E){$E$}
  \tkzLabelPoint[above left,xshift=2pt](F){$F$}
  \tkzLabelPoint[below right](I){$I$}
  \tkzLabelPoint[above right](O){$O$}
  \tkzLabelPoint[below left,xshift=-2pt](Jstar){$J^{\ast}$}

  \node at (2.5,1.9) {$\Gamma$};
  \node at (0.4,0.4) {$\gamma$};
  \node at (-2.8,1.7) {$\Gamma_A$};
  \node at (-1.8,-0.9) {$\Gamma_B$};
  \node at (2.2,-0.5) {$\Gamma_C$};
  \end{scope}
  \egUseStandardPlate
\end{tikzpicture}
\end{document}

Inverted configuration

% Figure for Crux Mathematicorum Problem 4941
% Site: Elementary Geometry
% Website: https://elementarygeometry.org/
% Drawing tool: tkz-euclide
% Output format: SVG
% Last verified: 2026-08-30
%
% Inverted configuration.
% Editable source for public/diagrams/crux-4941-contact-triangle-inversion.svg.
% The construction uses the same exact 3-4-5 triangle as the companion figure.
% Accent target: J point
% Scale is 1.0; the 2.2 similarity factor is absorbed into the seed coordinates.
% The web build does not compile TeX; export and review the SVG separately.
\documentclass[tikz,border=8pt]{standalone}
\usepackage{tkz-euclide}
\usepackage{amsmath,amssymb}
\usetikzlibrary{intersections,calc,angles,quotes}

\definecolor{egNavy}{HTML}{17243D}
\definecolor{egGray}{HTML}{777671}
\definecolor{egRust}{HTML}{92513F}
\newcommand{\egUseStandardPlateAt}[1]{%
  \pgfresetboundingbox
  \path[use as bounding box]
    ([xshift=-102pt,yshift=-80pt]#1)
    rectangle
    ([xshift=102pt,yshift=80pt]#1);%
}
\newcommand{\egUseStandardPlate}{%
  \coordinate (egPlateCenter) at (current bounding box.center);%
  \egUseStandardPlateAt{egPlateCenter}%
}
\tikzset{
  eg figure/.style={line cap=round,line join=round,every node/.append style={font=\normalsize,text=egNavy}},
  eg main/.style={draw=egNavy,line width=0.75pt},
  eg support/.style={draw=egGray,line width=0.52pt},
  eg support dashed/.style={draw=egGray,line width=0.52pt,dash pattern=on 3pt off 3pt},
  eg accent/.style={draw=egRust,line width=0.75pt},
  eg mark/.style={draw=egNavy,line width=0.50pt}
}

\begin{document}
\begin{tikzpicture}[eg figure,scale=1.0]
  % A uniform 2.2 image of the exact 3-4-5 triangle is the only coordinate seed.
  \tkzDefPoint(-2.2,6.6){A}
  \tkzDefPoint(-2.2,0){B}
  \tkzDefPoint(6.6,0){C}

  % Triangle centers and contact points.
  \tkzDefTriangleCenter[in](A,B,C)\tkzGetPoint{I}
  \tkzDefTriangleCenter[circum](A,B,C)\tkzGetPoint{O}
  \tkzDefPointBy[projection=onto B--C](I)\tkzGetPoint{D}
  \tkzDefPointBy[projection=onto C--A](I)\tkzGetPoint{E}
  \tkzDefPointBy[projection=onto A--B](I)\tkzGetPoint{F}

  % The contact-triangle intersections and their circumcenter.
  \tkzInterLL(I,A)(E,F)\tkzGetPoint{P}
  \tkzInterLL(I,B)(F,D)\tkzGetPoint{Q}
  \tkzInterLL(I,C)(D,E)\tkzGetPoint{R}
  \tkzDefTriangleCenter[circum](P,Q,R)\tkzGetPoint{J}

  \tkzDrawCircle[eg main](I,D)
  \tkzDrawCircle[eg main](J,P)

  \tkzDrawPolygon[eg support](D,E,F)
  \tkzDrawPolygon[eg main](P,Q,R)

  \tkzDrawSegments[eg support](I,D I,E I,F)
  \tkzDrawSegments[eg main](J,P J,Q J,R)
  \tkzDrawSegment[eg support dashed](J,O)

  \tkzDrawPoints[color=egNavy,fill=egNavy,size=1.6](D,E,F,I,O,P,Q,R)
  \tkzDrawPoint[color=egRust,fill=egRust,size=1.6](J)

  \tkzLabelPoint[below right](D){$D$}
  \tkzLabelPoint[above right](E){$E$}
  \tkzLabelPoint[left](F){$F$}
  \tkzLabelPoint[above left](I){$I$}
  \tkzLabelPoint[right](O){$O$}
  \tkzLabelPoint[above left](P){$P$}
  \tkzLabelPoint[below left](Q){$Q$}
  \tkzLabelPoint[below right](R){$R$}
  \tkzLabelPoint[below right](J){$J$}

  \node at (1.5,0.9) {$\gamma$};
  \egUseStandardPlate
\end{tikzpicture}
\end{document}

Read the article