Tengo dos círculos concéntricos centrados en O
dibujado. Especifico que el radio del círculo más pequeño es 1
. El radio del círculo más grande se determina de modo que un ángulo inscrito LMN
mida 20
grados, sea bisectado por el radio OM
y sea tangente al círculo más pequeño en S
y T
de modo que los ángulos SOM
y TOM
miden 80
grados.
Mi preocupación es que la cuerda MN
no se tensa. El acorde LM
es dibujado pero no acorde MN
. Aquí están los cálculos que muestran las longitudes de las cuerdas congruentes LM
y MN
.
`triangle{OSM}` and `triangle{OTM}` are congruent, right triangles.
Since `OM` bisects `angle{LMN}`, and the measure of `angle{LMN}` is 20 degrees,
`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/sin(10))cos(10) = r*cot(10).
Declaro r=1
. Entonces, el radio del círculo más grande es cot(10)
. Con los siguientes comandos, esperaba tener angle{LMN}
un ángulo inscrito en el triángulo más grande.
\coordinate (M) at ({-cot(10)},0);
\coordinate (L) at ($(M) +(10:{2*cot(10)})$);
\coordinate (N) at ($(M) +(-10:{2*cot(10)})$);
Eso no sucedió LM
y MN
se dibujan un poco más allá del círculo en M
y N
. ¿Como sucedió esto?
Utilicé los siguientes comandos para compensar los errores del calc
paquete.
\draw[name path=bigger_circle] (O) circle ({cot(10)});
\path[name path=chord_LM] (M) -- (L);
\draw[name path=chord_MN] (M) -- (N);
\coordinate[name intersections={of=bigger_circle and chord_LM, by=corrected_location_for_L}];
\coordinate[name intersections={of=bigger_circle and chord_MN, by=corrected_location_for_N}];
La cuerda LM
se dibuja, pero N
parece estar ubicada en M
, por lo que MN
no se dibuja.
\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 (1);
\draw[name path=bigger_circle] (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)})$);
%
\path[name path=chord_LM] (M) -- (L);
\path[name path=chord_MN] (M) -- (N);
%
%The calc package is drawing the chords LM and MN too long. So, the intersections package is used.
%
\coordinate[name intersections={of=bigger_circle and chord_LM, by=corrected_location_for_L}];
\coordinate[name intersections={of=bigger_circle and chord_MN, by=corrected_location_for_N}];
%
\draw (M) -- (corrected_location_for_L);
\draw[green] (M) -- (corrected_location_for_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 ($(corrected_location_for_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 ($(corrected_location_for_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$};
\draw[fill=green] (corrected_location_for_L) circle (2pt);
\draw[fill=green] (corrected_location_for_N) circle (2pt);
\end{tikzpicture}
\end{document}
Respuesta1
Ha elegido un punto de intersección incorrecto, cada línea se encuentra con el círculo en el punto deseadoyen M
. Para estar absolutamente seguro de qué punto tomar debes utilizar la sort by
opción para las intersecciones. En su caso, lo más apropiado es utilizar el orden a lo largo del acorde. Por ejemplo, para el primer conjunto de intersecciones puedes escribir
\coordinate[name intersections={of=bigger_circle and chord_ML,
by={tmp,corrected_location_for_L}, sort by=chord_ML}];
clasificando las intersecciones por su orden chord_ML
y etiquetándolas por tmp
y corrected_location_for_L
.
\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 (1);
\draw[name path=bigger_circle] (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)})$);
%
\path[name path=chord_ML] (M) -- (L);
\path[name path=chord_MN] (M) -- (N);
%
%The calc package is drawing the chords LM and MN too long. So, the intersections package is used.
%
\coordinate[name intersections={of=bigger_circle and chord_ML,
by={tmp,corrected_location_for_L}, sort by=chord_ML}];
\coordinate[name intersections={of=bigger_circle and chord_MN,
by={tmp,corrected_location_for_N}, sort by=chord_MN}];
%
\draw (M) -- (corrected_location_for_L);
\draw[green] (M) -- (corrected_location_for_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 ($(corrected_location_for_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 ($(corrected_location_for_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$};
\draw[fill=green] (corrected_location_for_L) circle (2pt);
\draw[fill=green] (corrected_location_for_N) circle (2pt);
\end{tikzpicture}
\end{document}
Respuesta2
No sé la longitud de la línea, pero la ubicación incorrecta de la etiqueta se debe a que estás usando la intersección incorrecta.
Hay dos intersecciones entre el círculo y las cuerdas. Uno está en M
, el otro en L
/ N
. Cuando usas by={a}
, la primera intersección que encuentra TikZ recibe el nombre {a}
, si usas by={a,b}
la primera obtiene a
y la segunda b
.
No puedo decir exactamente por qué obtienes la intersección correcta en un caso pero no en el otro, pero se debe a cómo TikZ encuentra las intersecciones. Por ejemplo, suponiendo que mira a lo largo del círculo, comenzando en cero grados y avanzando en sentido antihorario, ML
la primera intersección que encuentra está en L
y la segunda en M
. Para MN
, la primera intersección que encuentre estará en M
.
Entonces, a continuación se muestra un código completo que hace lo que buscas. También cambié algunas otras cosas, principalmente en cómo se dibujan las etiquetas, pero puedes ignorarlo si prefieres tu propio método, por supuesto.
\documentclass{amsart}
\usepackage{tikz}
\usetikzlibrary{calc,intersections}
\begin{document}
\begin{tikzpicture}[every label/.append style={font=\footnotesize}]
%Two concentric circles are drawn.
%
\coordinate [label=right:{$O$}] (O) at (0,0);
\draw (O) circle (1);
\draw[name path=bigger_circle] (O) circle[radius={cot(10)}];
%
%
\coordinate [label=above:{$S$}] (S) at (100:1);
\coordinate [label=below:{$T$}] (T) at (-100:1);
%
\foreach \x in {O,S,T}
\draw[fill] (\x) circle (1.5pt);
\coordinate [label=left:{$M$}] (M) at ({-cot(10)},0);
%
\coordinate (L) at ($(M) +(10:{2*cot(10)})$);
\coordinate (N) at ($(M) +(-10:{2*cot(10)})$);
%
\path[name path=chord_LM] (M) -- (L);
\path[name path=chord_MN] (M) -- (N);
%
%The calc package is drawing the chords LM and MN too long. So, the intersections package is used.
%
\path[name intersections={of=bigger_circle and chord_LM, by={corrected_location_for_L,i}}];
\path[name intersections={of=bigger_circle and chord_MN, by={i,corrected_location_for_N}}];
%
\draw (M) -- (corrected_location_for_L);
\draw[green] (M) -- (corrected_location_for_N);
\draw[fill=green] (corrected_location_for_L) circle (2pt);
\draw[fill=green] (corrected_location_for_N) circle (2pt);
\node [font=\footnotesize] at ($(L)!-2mm!(M)$) {$L$};
\node [font=\footnotesize] at ($(N)!-2mm!(M)$) {$N$};
\end{tikzpicture}
\end{document}