Ein Problem beim Zeichnen von Bögen, die mit Winkeln verknüpft sind

Ein Problem beim Zeichnen von Bögen, die mit Winkeln verknüpft sind

Ich muss Bögen zeichnen, um Winkel innerhalb eines gleichseitigen Dreiecks zu kennzeichnen. Dazu verwende ich die Arc-Funktion in Tikz mithilfe des Calc-Pakets. Wenn ich jedoch eine automatische Lösung verwende, die die Grade der Differenzvektoren zwischen den Eckpunkten berechnet, erhalte ich ein unerwünschtes Ergebnis (den schwarzen Bogen im folgenden Beispielcode).

\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}

Wenn ich die Werte des Anfangs- und Endwinkels anzeigen lasse, erscheinen sie in pt, was umgerechnet etwa +60° und -60° entspricht. Diese Werte sind eindeutig falsch. Umgekehrt ist der Bogen in Ordnung, wenn ich die richtigen Winkel manuell einstelle. Trotzdem muss ich die „automatische“ Lösung verwenden, da ich den Anfangs- und Endwinkel für komplexere Figuren nicht manuell berechnen kann. Kann mir jemand sagen, wie ich dieses Problem beheben kann? Gibt es außerdem eine Möglichkeit, den Anfangs- und Endwinkel in Grad statt in Punkten anzuzeigen? Vielen Dank!

Antwort1

Vielleicht möchten Sie einfach nur das?

\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}

Winkel

Beachten Sie, dass atan2das yBit als erstes Argument verwendet wird – nicht das x– und dass das bei und nicht arcbeginnen sollte .(C1)(C)

Antwort2

Ich bin mir nicht sicher, warum Sie sich für einen so großen Maßstab entschieden haben, anstatt einfach größere Maße zu verwenden. Obwohl dies das Laden eines zusätzlichen Pakets bedeutet, sehen Sie hier ein Beispiel mit tkz-euclide.

Ausgabe

Bildbeschreibung hier eingeben

Code

\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}

verwandte Informationen