假設點A
、B
和C
是用 定義的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}