Un problema para dibujar arcos asociados a ángulos.

Un problema para dibujar arcos asociados a ángulos.

Necesito dibujar arcos para indicar ángulos dentro de un triángulo equilátero. Para hacer esto, estoy usando la función arc en tikz con la ayuda del paquete calc. Sin embargo, si uso una solución automática que calcula los grados de los vectores de diferencia entre los vértices, obtengo un resultado no deseado (el arco negro en el siguiente código de ejemplo).

\begin{tikzpicture}[scale=8]
\coordinate (center) at (0, 0);
\coordinate (A) at (-0.5, 0);
\coordinate (B) at (0.5, 0);
\coordinate (C) at (0, {sqrt(3)/2});
\draw (A) -- (B) -- (C) -- cycle;
\coordinate (C1) at ($(C)!0.1!(A)$);
\coordinate (C2) at ($(C)!0.1!(B)$);
\draw
   let \p1 = ($(C1) - (C)$),
   \p2 = ($(C2) - (C)$),
   \n0 = {veclen(\x1,\y1)},            
   \n1 = {atan2(\x1, \y1)},  
   \n2 = {atan2(\x2, \y2)}   
 in (C) arc(\n1:\n2:\n0);
\path
    let     \p1 = ($(C1) - (C)$),
\p2 = ($(C2) - (C)$),
\n0 = {veclen(\x1, \y1)},
\n1 = {atan2(\x1, \y1)},
\n2 = {atan2(\x2, \y2)}
in node at  (C) {$\n1,\, \n2$};
\draw[red] (C1) arc(240:300:0.1);
\end{tikzpicture}

Si muestro los valores de los ángulos inicial y final, aparecen en pt y convertidos son como +60° y -60°. Estos valores están claramente equivocados. Viceversa, si configuro los ángulos correctos manualmente, entonces el arco está bien. Sin embargo, necesito pasar por la solución "automática" porque no puedo calcular manualmente los ángulos inicial y final para figuras más complejas. ¿Alguien puede decirme cómo solucionar este problema? Además, ¿hay alguna manera de mostrar los ángulos inicial y final en grados en lugar de puntos? ¡Muchas gracias!

Respuesta1

¿Quizás sólo quieres esto?

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[scale=8]
  \draw (-0.5,0) coordinate (A) -- (0.5,0) coordinate (B) -- (0,{sqrt(3)/2}) coordinate (C) -- cycle ($(C)!0.1!(A)$) coordinate (C1) ($(C)!0.1!(B)$) coordinate (C2);
  \draw
  let \p1 = ($(C1) - (C)$),
  \p2 = ($(C2) - (C)$),
  \n0 = {veclen(\x1,\y1)},
  \n1 = {atan2(\y1,\x1)},
  \n2 = {atan2(\y2,\x2)}
  in (C1) arc(\n1:\n2:\n0);
\end{tikzpicture}
\end{document}

ángulo

Tenga en cuenta que atan2toma el ybit como primer argumento, no el x, y que el arcdebe comenzar desde (C1)y no (C).

Respuesta2

No estoy seguro de por qué decidiste aplicar una escala tan grande, en lugar de simplemente usar medidas más grandes. Aunque esto significa cargar un paquete adicional, aquí hay un ejemplo con tkz-euclide.

Producción

ingrese la descripción de la imagen aquí

Código

\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all}

\begin{document}
\begin{tikzpicture}
\tkzDefPoint(-4,0){A}
\tkzDefPoint(4,0){B}

\tkzDefTriangle[equilateral](A,B)
\tkzGetPoint{C}

\tkzDrawPolygon(A,B,C)

\tkzMarkAngle[size=1cm](A,C,B)
\end{tikzpicture}
\end{document}

información relacionada