用座標定義的 3 點之間的角度

用座標定義的 3 點之間的角度

假設點ABC是用 定義的coordinate。 Latex 中是否有一個內建函數(比如說\angle{A,B,C})可以計算 3 個給定點之間的角度?

我知道這個功能\pgfmathangleafterpoints,但它不實用,因為它只需要 2 個點,並且不適用於使用定義的點coordinate(除非我不知道如何使用它)。

在下面的範例中,函數\angle{A,B,C}應返回60度數。 (問題不是畫角度,而是計算角度的值)

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

答案1

tkz-euclide包計算角度。

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

在此輸入影像描述

相關內容