Угол между тремя точками, определяемый координатами

Угол между тремя точками, определяемый координатами

Допустим, точки A, Bи Cопределены с помощью coordinate. Есть ли встроенная функция (скажем \angle{A,B,C}), которая вычисляет угол между 3 заданными точками в Latex?

Я знаю о функции\pgfmathanglebetweenpoints, но это непрактично, так как требует всего 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}

введите описание изображения здесь

Связанный контент