4

I want to draw this picture: Thales circle

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}

I'm sorry, I'm new to tikz, so sorry for my basic question. Can anyone please help?

3 Answers 3

6

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$}
\psset{LabelSep=0.4, MarkAngleRadius=0.6, linecolor=LightSeaGreen}
\everypsbox{\small\color{LightSeaGreen}}
\pstMarkAngle{S}{A}{C}{$\color{LightSeaGreen}\alpha$}
\pstMarkAngle{A}{C}{S}{$\color{LightSeaGreen}\alpha$}
\psset{linecolor=DeepSkyBlue, MarkAngleRadius=0.9, LabelSep=0.7}
\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} 

enter image description here

6

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}

enter image description here

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}

enter image description here

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}

enter image description here

4
  • 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
  • 1
    @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
  • 1
    @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
5

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]},
myangle/.style = {angle radius=11mm, 
                  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
\draw   (b) circle[radius=6];
% angles at A, B, C
\pic [myangle=teal, "$\alpha$"] {angle = b--a--c};
\pic [myangle=teal, "$\alpha$"] {angle = a--c--b};
% angles at C, D
\pic [myangle=cyan, "$\beta$"] {angle = c--d--b};
\pic [myangle=cyan, "$\beta$"] {angle = b--c--d};
    \end{tikzpicture}
\end{document}

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

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.