% Figure for a Problem article
% Article: A Solution to BMO1 2025, Problem 4
% Source: British Mathematical Olympiad, BMO1 2025, Problem 4
% Site: Elementary Geometry
% Website: https://elementarygeometry.org/
% Drawing tool: tkz-euclide
% Output format: SVG
% Standard plate: 5:4
% Last verified: 2026-09-06
% Accent target: none
%
% Editable source for public/diagrams/bmo1-2025-power-symmetry.svg.
% The production site serves the committed SVG and does not compile TeX.
\documentclass[tikz,border=8pt]{standalone}
\usepackage{tkz-euclide}
\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 similarity keeps the explicit seed coordinates at one decimal
% place while fitting the full circle configuration inside the 5:4 plate.
\tkzDefPoint(0,0){S}
\tkzDefPoint(0.5,3.2){A0}
\tkzDefPoint(-3,0){B0}
\tkzDefPoint(3,0){C0}
\tkzDefPointBy[homothety=center S ratio 0.7](A0)\tkzGetPoint{A}
\tkzDefPointBy[homothety=center S ratio 0.7](B0)\tkzGetPoint{B}
\tkzDefPointBy[homothety=center S ratio 0.7](C0)\tkzGetPoint{C}
\tkzDefMidPoint(B,C)\tkzGetPoint{M}
% Each given circle center is the intersection of the appropriate radius
% line at the tangency point and the perpendicular bisector of its chord.
\tkzDefMidPoint(B,M)\tkzGetPoint{BMmid}
\tkzDefLine[orthogonal=through BMmid](B,M)\tkzGetPoint{bBis}
\tkzDefLine[orthogonal=through B](A,B)\tkzGetPoint{bNormal}
\tkzInterLL(B,bNormal)(BMmid,bBis)\tkzGetPoint{OB}
\tkzDefMidPoint(C,M)\tkzGetPoint{CMmid}
\tkzDefLine[orthogonal=through CMmid](C,M)\tkzGetPoint{cBis}
\tkzDefLine[orthogonal=through C](A,C)\tkzGetPoint{cNormal}
\tkzInterLL(C,cNormal)(CMmid,cBis)\tkzGetPoint{OC}
\tkzInterCC(OB,B)(OC,C)\tkzGetPoints{Mcheck}{D}
% The auxiliary circumcircle and the second intersection of line DM.
\tkzDefCircle[circum](A,B,C)\tkzGetPoint{O}
\coordinate (OmegaRadiusPoint) at (A);
\tkzInterLC(D,M)(O,OmegaRadiusPoint)\tkzGetPoints{H}{Dcheck}
\tkzDrawCircles[eg support](OB,B OC,C)
\tkzDrawCircle[eg support dashed](O,OmegaRadiusPoint)
\tkzDrawSegment[eg support dashed](A,M)
\tkzDrawSegments[eg main](A,B B,C C,A D,H)
\tkzMarkSegments[color=egNavy,line width=0.50pt,mark=|,size=3pt](B,M M,C)
\tkzDrawPoints[color=egNavy,fill=egNavy,size=1.6](A,B,C,M,D,H)
\tkzLabelPoints[above](A)
\tkzLabelPoints[left](B)
\tkzLabelPoints[right](C)
\tkzLabelPoints[below left, xshift=-2pt](M)
\tkzLabelPoints[below](D)
\tkzLabelPoints[above](H)
\egUseStandardPlate
\end{tikzpicture}
\end{document}