Winkel zwischen 3 Punkten, definiert mit Koordinaten

Winkel zwischen 3 Punkten, definiert mit Koordinaten

Nehmen wir an, die Punkte Aund Bsind Cmit definiert coordinate. Gibt es eine integrierte Funktion (sagen wir \angle{A,B,C}), die den Winkel zwischen 3 gegebenen Punkten in Latex berechnet?

Ich kenne die Funktion\pgfmathanglebetweenpoints, aber das ist nicht praktikabel, da nur zwei Punkte nötig sind und es nicht mit Punkten funktioniert, die mithilfe von definiert wurden coordinate(es sei denn, ich weiß nicht, wie man es verwendet).

Im folgenden Beispiel \angle{A,B,C}sollte die Funktion Grad zurückgeben 60. (Die Frage betrifft nicht das Zeichnen des Winkels, sondern die Berechnung des Winkelwerts.)

\documentclass{standalone}
\usepackage{tikz}
\usepackage{xfp}

\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (4,3);
\coordinate (C) at (\fpeval{3*sqrt(3)},\fpeval{-4*sqrt(3)});

\draw[fill] (A) circle (0.05) node[left] {$A$};
\draw[fill] (B) circle (0.05) node[right] {$B$};
\draw[fill] (C) circle (0.05) node[right] {$C$};
\end{tikzpicture}

\end{document}

Antwort1

Das tkz-euclidePaket berechnet Winkel.

\documentclass{standalone}
\usepackage{tkz-euclide}

\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (4,3);
\coordinate (C) at (\fpeval{3*sqrt(3)},\fpeval{-4*sqrt(3)});

\draw[fill] (A) circle (0.05) node[left] {$A$};
\draw[fill] (B) circle (0.05) node[right] {$B$};
\draw[fill] (C) circle (0.05) node[right] {$C$};
\tkzFindAngle(A,B,C)
\tkzGetAngle{angleABC}
\edef\angleABC{\fpeval{round(\angleABC)}}
\tkzDrawSegments(A,B B,C)
\tkzMarkAngle(A,B,C)
\tkzLabelAngle[pos=1.3](A,B,C){$\angleABC^\circ$}
\end{tikzpicture}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen