# How to draw Thales circle with marked angles?

I want to draw this picture:

This is what I have so far:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}

\begin{document}

\begin{center}

\begin{tikzpicture}
\coordinate (S) at (0,0); %does nothing
\draw (0,0) circle (2cm);
\draw (-2,0)  -- (2,0);

\end{tikzpicture}

\end{center}

\end{document}


Here is a solution with pstricks:

\documentclass[border=10pt, svgnames]{standalone}
\usepackage{pst-eucl}

\begin{document}

\begin{pspicture}(-2,-2)(2,2)
\psset{linejoin=1}
\pnodes(-2,0){A}(2,0){B}(2;120){C}(0,0){S} \uput[dr](S){$S$}
\everypsbox{\small\color{LightSeaGreen}}
\pstMarkAngle{S}{A}{C}{$\color{LightSeaGreen}\alpha$}
\pstMarkAngle{A}{C}{S}{$\color{LightSeaGreen}\alpha$}
\everypsbox{\small\color{DeepSkyBlue}}
\pstMarkAngle{S}{C}{B}{$\beta$}
\pstMarkAngle{C}{B}{S}{$\beta$}
\psset{linecolor=black}
\pstCircleAB{A}{B}
\psline(A)(C)(B)(A)\psline(C)(S)
\end{pspicture}

\end{document}


You can draw this with only TikZ (see Zarko's answer) or if you have a lot of work like this (euclidean geometry) with tkz-euclide. And you can mix tkz-euclide with TikZ.

\documentclass[margin=.5cm]{standalone}
\usepackage{tkz-euclide}
\usetikzlibrary{math}
\begin{document}
\begin{tikzpicture}
\tikzmath{ \r=6 ;}
\tkzDefPoint(0,0){O}
\tkzDefPoint(0:\r){B}
\tkzDefPoint(150:\r){C}
\tkzDefPoint(180:\r){A}
\tkzDrawPolygon(A,B,C)
\tkzDrawSegment(O,C)
\tkzDrawPoints(A,B,C,O)
\tkzDrawCircle(O,A)
\tkzLabelAngles[pos=.5](B,A,C A,C,O){$\alpha$}
\tkzLabelAngles[pos=1.6](C,B,O O,C,B){$\beta$}
\tkzMarkAngles[mark=|](B,A,C A,C,O)
\tkzMarkAngles[mark=||,size=2](C,B,O O,C,B)
\tkzLabelPoints(A,B)
\tkzLabelPoints[above](C)
\end{tikzpicture}
\end{document}


With the next code you have a 3-4-5 right triangle (egyptian or Pythagoras)

\documentclass[margin=.5cm]{standalone}
\usepackage{tkz-euclide}
\usetikzlibrary{math}
\begin{document}
\begin{tikzpicture}[rotate=36.9,scale=2]
\tkzDefPoint(0,0){A}
\tkzDefPoint(4,0){C}
\tkzDefTriangle[egyptian](A,C) \tkzGetPoint{B}
\tkzDrawPolygon(A,B,C)
\tkzDefMidPoint(A,B) \tkzGetPoint{O}
\tkzDrawSemiCircle(O,B)
\tkzDrawSegment(O,C)
\tkzLabelPoints(O,A,B)
\tkzLabelPoints[above](C)
\tkzMarkRightAngle[fill=teal!20,opacity=.4](B,C,A)
\tkzLabelAngles[pos=.75](B,A,C A,C,O){$\alpha$}
\tkzLabelAngles[pos=.75](C,B,O O,C,B){$\beta$}
\tkzMarkAngles[mark=|](B,A,C A,C,O)
\tkzMarkAngles[mark=||](C,B,O O,C,B)
\end{tikzpicture}
\end{document}


If you want a specific angle for A (here 30 degree)

\documentclass[margin=.5cm]{standalone}
\usepackage{tkz-euclide}
\usetikzlibrary{math}
\begin{document}
\begin{tikzpicture}
\tkzInit[xmin=-6,xmax=6,ymin=-1,ymax=6]
\tkzGrid
\tikzmath{\r = 6 ;}
\tkzDefPoint(-\r,0){A}
\tkzDefPoint(\r,0){B}
\tkzDefPoint(0,0){O}
\tkzDefShiftPoint[A](30:2){c}
\tkzInterLC(A,c)(O,A) \tkzGetSecondPoint{C}
\tkzDrawPolygon(A,B,C)
\tkzDrawSegment(O,C)
\tkzDrawPoints(A,B,C,O)
\tkzDrawSemiCircle(O,B)
\tkzLabelAngles[pos=1](B,A,C A,C,O){$\alpha$}
\tkzLabelAngles[pos=1.6](C,B,O O,C,B){$\beta$}
\tkzMarkAngles[mark=|,size=1.5](B,A,C A,C,O)
\tkzMarkAngles[mark=||,size=2](C,B,O O,C,B)
\tkzLabelPoints(A,B,O)
\tkzLabelPoints[above](C)
\end{tikzpicture}
\end{document}


• In your third example, could you just define $O$ to be the point $(0, 0)$, $A$ to be the point $(-6, 0)$, $B$ to be the point $(6, 0)$, and $C$ to be the point $(30: 6)$? Jan 19 at 10:56
• @N.F.Taussig Yes it's possible but you need to use the macro  \tkzDefShiftPoint[A](30:2){c} to draw the correct angle in A. Jan 19 at 11:36
• @N.F.Taussig I updated the third example ! Jan 19 at 11:45
• I realize now that I should have defined $C$ to be $(60: 6)$ so that $m\angle A = 30^\circ$, $m\angle ACO = 30^\circ$, and $m\angle AOC = 120^\circ$. That said, the advantage of your approach is that tikz euclide will calculate the coordinates of point $C$ when the angle measures are not "nice". Thank you for writing tikz euclide. Jan 19 at 11:51

With pure tikz:

\documentclass[tikz, border=3.141592]{standalone}
\usetikzlibrary{angles, arrows.meta,
intersections,
positioning,
quotes}
\usepackage{siunitx}

\begin{document}
\begin{tikzpicture}[
> = {Straight Barb[scale=0.8]},
angle eccentricity=0.8,
draw=#1!70!black, <->,
text=#1!70!black},
]
% triangle's coordinates
\coordinate                 (a);
\coordinate[right=6 of a]   (b);
\coordinate[right=6 of b]   (d);
% triangle's coordinate determined by intersection
\path[name path=ac] (a) -- ++ ( 60:6.5);
\path[name path=bc] (b) -- ++ (120:8);
\path[name intersections={of = ac and bc, by=c}];
% triangle's edges
\draw[semithick]    (a) -- (c) -- (b) -- cycle
(b) -- (d) -- (c);
\draw   (b) + (0,+1mm) -- +(0,-2mm) node[below] {S};
% circle
\pic [myangle=teal, "$\alpha$"] {angle = b--a--c};
\pic [myangle=teal, "$\alpha$"] {angle = a--c--b};
\pic [myangle=cyan, "$\beta$"] {angle = c--d--b};
\pic [myangle=cyan, "$\beta$"] {angle = b--c--d};

Note: As is known from geometry, angle \alpha can be any angle between zero and ninety degrees.