% Figure for a Classical Theorem Note
% Article: Four Orthocenters of a Cyclic Quadrilateral
% Site: Elementary Geometry
% Website: https://elementarygeometry.org/
% Drawing tool: tkz-euclide
% Output format: SVG
% Last verified: 2026-08-30
% Accent target: none
%
% Editable source for public/diagrams/four-orthocenters-half-turn.svg.
% Prepared for the web edition of this note.
% 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]
\tkzDefPoint(0,0){O}
\tkzDefPoint(2.3,0){U}
% Rotate the original configuration within the standard horizontal plate.
\tkzDefPointBy[rotation=center O angle 119](U)\tkzGetPoint{A}
\tkzDefPointBy[rotation=center O angle 269](U)\tkzGetPoint{B}
\tkzDefPointBy[rotation=center O angle 328](U)\tkzGetPoint{C}
\tkzDefPointBy[rotation=center O angle 46](U)\tkzGetPoint{D}
% Orthocenters of the four complementary triangles.
\tkzDefTriangleCenter[ortho](B,C,D)\tkzGetPoint{P}
\tkzDefTriangleCenter[ortho](C,D,A)\tkzGetPoint{Q}
\tkzDefTriangleCenter[ortho](D,A,B)\tkzGetPoint{R}
\tkzDefTriangleCenter[ortho](A,B,C)\tkzGetPoint{S}
% The conclusion is checked from the independently constructed P.
\tkzDefMidPoint(A,P)\tkzGetPoint{M}
\tkzDrawCircle[eg support](O,U)
\tkzDrawPolygon[eg support](A,B,C,D)
\tkzDrawSegments[eg support dashed](A,P B,Q C,R D,S)
\tkzDrawPolygon[eg main](P,Q,R,S)
\tkzDrawPoints[color=egNavy,fill=egNavy,size=1.6](A,B,C,D,P,Q,R,S)
\tkzDrawPoint[color=egNavy,fill=egNavy,size=1.6](M)
\tkzLabelPoints[above](A)
\tkzLabelPoints[below](B)
\tkzLabelPoints[below right](C)
\tkzLabelPoints[right, xshift=-1pt,yshift=5pt](D)
\tkzLabelPoints[below](P)
\tkzLabelPoints[above](Q)
\tkzLabelPoints[above](R)
\tkzLabelPoints[below left](S)
\tkzLabelPoints[right,xshift=0pt,yshift=2pt](M)
\egUseStandardPlate
\end{tikzpicture}
\end{document}