Lines not tangent as expected

I have two concentric circles centered at O drawn. Chords LM and MN of the bigger circle are tangent to the smaller circle at S and T. The measures of angle{SOM} and angle{TOM} are congruent and have measure 80 degrees. According to the Power-of-a-Point Theorem, if the radius of the smaller circle isr, |OM| = r + x, and |MS| = |MT| = y,

y² = x(x + 2r).

So, if r = 3/4 and x = 3/2, y = (3*sqrt{2})/2. Since triangle{LOM} is congruent to triangle{NOM}, OM bisects angle{M}.

angle{LMO} = angle{SMO} = 180 - (80 + 90) = 10,

and

angle{NMO} = angle{TMO} = 180 - (80 + 90) = 10.

I have all this coded in the following TikZ diagram. Why are the chords not tangent to the smaller circle at S and T?

\documentclass{amsart}
\usepackage{tikz}

\usetikzlibrary{calc,intersections}

\begin{document}

\begin{tikzpicture}

%Two concentric circles are drawn.
%
\coordinate (O) at (0,0);
\draw[fill] (O) circle (1.5pt);
\draw (O) circle (3/4);
\draw (O) circle (9/4);
%
\coordinate (S) at (100:3/4);
\draw[fill] (S) circle (1.5pt);
\coordinate (T) at (-100:3/4);
\draw[fill] (T) circle (1.5pt);
%
\coordinate (M) at (-9/4,0);
%
\coordinate (L) at ($(M) +(20:{3*sqrt(2)})$);
\coordinate (N) at ($(M) +(-20:{3*sqrt(2)})$);
%
\draw (M) -- (L);
\draw (M) -- (N);

%The labels for the points are typeset.
\path node[anchor=west, inner sep=0, font=\footnotesize] at ($(O) +(0.15,0)$){$O$};
\path node[anchor=east, inner sep=0, font=\footnotesize] at ($(M) +(-0.15,0)$){$M$};
\path node[anchor={20+180}, inner sep=0, font=\footnotesize] at ($(L) +(20:0.15)$){$L$};
\path node[anchor={-20+180}, inner sep=0, font=\footnotesize] at ($(N) +(-20:0.15)$){$N$};
\path node[anchor={80-180}, inner sep=0, font=\footnotesize] at ($(S) +(80:0.15)$){$S$};
\path node[anchor={-80+180}, inner sep=0, font=\footnotesize] at ($(T) +(-80:0.15)$){$T$};

\end{tikzpicture}

\end{document} • In your comments, you state that the radius of the bigger circle is 1/sin(10), but you have \draw[name path=bigger_circle] (O) circle ({cot(10)}). So, your bigger circle is a bit small. – user74973 Jan 26 '17 at 17:43
• Draw the bigger circle with \draw (O) circle ({1/sin(10)}). Locate M with \coordinate (M) at ({-1/sin(10)},0). – user74973 Jan 26 '17 at 17:44

The starting magic number 80° for angles SOM and TOM is wrong, if you want to have tangents. The angle can be easily calculated by looking at the triangle OSM with one orthogonal angle at the tangent point S (the result is about 70.5°).

Also I would calculate the coordinates of L and N as polar coordinates with origin O. This can again be done looking at the triangle OLS that also has a orthogonal angle at the tangent point S.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}

% \Angle is the angle part of the polar coordinate of S with origin O
\pgfmathsetmacro\Angle{180 - acos(1/3)}
\pgfmathsetmacro\AngleTwo{2*\Angle - 180}

% Coordinates
\path
coordinate (O) at (0, 0)
coordinate (S) at (\Angle:\SmallRadius)
coordinate (T) at (-\Angle:\SmallRadius)
coordinate (M) at (-\BigRadius, 0)
coordinate (L) at (\AngleTwo:\BigRadius)
coordinate (N) at (-\AngleTwo:\BigRadius)
;

% Two concentric circles and lines
\draw[line join=bevel]
(L) -- (M) -- (N)
;

% Points
\foreach \p in {O, S, T, M, L, N} { (\p) circle[] }
;

% The labels
\path[inner sep=0pt, node font=\footnotesize]
node[anchor=west] at ($(O) +(0.1,0)$){$O$}
node[anchor=east] at ($(M) +(-0.15,0)$){$M$}
node[anchor={\AngleTwo+180}] at ($(L) +(20:0.15)$){$L$}
node[anchor={-\AngleTwo+180}] at ($(N) +(-20:0.15)$){$N$}
node[anchor={\Angle-180}] at ($(S) +(80:0.15)$){$S$}
node[anchor={-\Angle+180}] at ($(T) +(-80:0.15)$){$T$}
;
\end{tikzpicture}
\end{document} Big radius and angle are given

The small radius can be calculated with the right triangle MSO. Because the example above has used macros, only the macro definitions for \Angle and \SmallRadius need to be changed:

\def\Angle{100}
% \Angle is the angle part of the polar coordinate of S with origin O
% Then the small radius can be calculated:
% \SmallRadius = \BigRadius * cos(180 - \Angle) = 0.3907
\pgfmathsetmacro\AngleTwo{2*\Angle - 180} • Thanks for your comments. You helped me find my mistake in calculations. – A gal named Desire Jan 25 '17 at 1:41
• I have edited the code and get the appropriate points of tangency. Now, the lengths of LM and NM are a bit too long. Is this just an error from the calc package? – A gal named Desire Jan 25 '17 at 1:41
• I do need the measures of angles SOM and TOM to be 80 degrees. Triangle OSM and triangleOTM are congruent, right triangles. So, OM bisects angleLMN, and angle LMO and angle NMO both have measure 10 degrees. – A gal named Desire Jan 25 '17 at 1:42
• r is the radius of the smaller circle. According to the Law of Sines, |OM| = r/sin(10). By the Pythagorean Theorem, |MS| = |MT| = r*cot(10). – A gal named Desire Jan 25 '17 at 1:42
• I posted a response with the edited code. In it, I use r=1. I am using this code mostly to see how accurate the calc package is. Again, thanks for your help. – A gal named Desire Jan 25 '17 at 1:42

Here is an edited version of the code from my post. I corrected an error in a calculation that Heiko Oberdiek spied.

\documentclass{amsart}
\usepackage{tikz}

\usetikzlibrary{calc,intersections}

\begin{document}

\begin{tikzpicture}

%Two concentric circles are drawn. $\angle{LMN}$ is an angle inscribed in the bigger circle; its measure is
%20 degrees. The chords are tangent to the smaller circle at S and T. $\triangle{OSM}$ and $\triangle{OTM}$
%are congruent, right triangles. So, OM bisects $\angle{LMN}$, and $\angle{LMO}$ and $\angle{NMO}$ both
%have measure 10 degrees.
%
%r is the radius of the smaller circle. According to the Law of Sines, |OM| = r/sin(10). By the Pythagorean Theorem,
%|MS| = |MT| = (r/sin(10))sqrt{1-sin^{2}(10)} = r*cot(10).
%
\coordinate (O) at (0,0);
\draw[fill] (O) circle (1.5pt);
\draw (O) circle (1);
\draw (O) circle ({cot(10)});
%
\coordinate (S) at (100:1);
\draw[fill] (S) circle (1.5pt);
\coordinate (T) at (-100:1);
\draw[fill] (T) circle (1.5pt);
%
\coordinate (M) at ({-cot(10)},0);
%
\coordinate (L) at ($(M) +(10:{2*cot(10)})$);
\coordinate (N) at ($(M) +(-10:{2*cot(10)})$);
%
\draw (M) -- (L);
\draw (M) -- (N);

%The labels for the points are typeset.
\path node[anchor=west, inner sep=0, font=\footnotesize] at ($(O) +(0.15,0)$){$O$};
\path node[anchor=east, inner sep=0, font=\footnotesize] at ($(M) +(-0.15,0)$){$M$};
\path let \p1=($(L)-(M)$), \n1={atan(\y1/\x1)} in node[anchor={\n1+180}, inner sep=0, font=\footnotesize] at ($(L) +({\n1}:0.15)$){$L$};
\path let \p1=($(M)-(N)$), \n1={atan(\y1/\x1)} in node[anchor={\n1+180}, inner sep=0, font=\footnotesize] at ($(N) +({\n1}:0.15)$){$N$};
\path node[anchor={80-180}, inner sep=0, font=\footnotesize] at ($(S) +(80:0.15)$){$S$};
\path node[anchor={-80+180}, inner sep=0, font=\footnotesize] at ($(T) +(-80:0.15)$){$T$};

\end{tikzpicture}

\end{document} • @Heiko Oberdiek Thanks for adding the figure to my post. You can see my concerns with the improper lengths of the chords from it. – A gal named Desire Jan 25 '17 at 13:33
• The comments correctly state the formula for the radius of the bigger circle: R = |OM| = r/sin(10) = 1/sin(10) with smaller radius r = 1. The TeX code, however, uses cot(10) ( = cos(10)/sin(10)) instead. Then it follows that |MS| = sqrt(R² - r²) = sqrt[1/sin²(10) - 1] = sqrt[sin²(10) -1] / sin(10). – Heiko Oberdiek Jan 25 '17 at 18:46
• @Heiko Oberdiek And sqrt[1 - sin^{2}(10) -] = cos(10). – A gal named Desire Jan 25 '17 at 21:51
• Summary: Your example if fixed, if the bigger radius is set to the 1/sin(10) and the position of M is corrected accordingly. – Heiko Oberdiek Jan 25 '17 at 23:10
• Yes, you are right. I did not implement the calculations that I had made. – A gal named Desire Jan 26 '17 at 17:41