在 tkz-euclide 中是否有一种直接的方法来测量角度?

在 tkz-euclide 中是否有一种直接的方法来测量角度?

我知道宏pgf

\pgfmathanglebetweenpoints

\pgfmathanglebetweenlines

我想知道是否有任何宏可以tkz-euclide更轻松地完成同样的事情。

例如,如果我有两个坐标AB,为了测量通过这两个点的线的角度,我可以写

\pgfmathanglebetweenpoints{\pgfpointanchor{A}{center}}{\pgfpointanchor{B}{center}}
\edef\aeABangle{\pgfmathresult}

如果有一个宏tkz-euclide可以以类似的方式执行此操作,那将会很方便

\tkzAngleAlong(A,B)

然后使用某种机制来检索角度的值。

我几乎不懂法语。我的法语水平还行,我通常能看懂手册上的内容tkz-euclide,但还不足以让我猜测搜索关键词。因此,如果这已经记录得很好,我深表歉意。

我知道我可以编写自己的宏来执行此操作。我只是不想重新发明轮子(尽管重新发明轮子相对简单)。

答案1

基本上你有:

  1. \tkzFindAngle(c,b,a)
    中心的角度就是要找到的角度。或者在本例中是顶点b
  2. \tkzGetAngle{angleCBA}
    给角度命名。
  3. \FPround\angleCBA\angleCBA{0}
    将角度四舍五入为整数。0 表示小数点后的数字。为了演示,我将一个角度设置为 10 个。
  4. \tkzMarkAngle[size=.5](c,b,a)
    用圆弧标记角度。您可以使用drawfill甚至来自定义opacity
  5. \tkzLabelAngle[pos=-.82](c,b,a){\tiny $\angleCBA^\circ$}
    标记角度。Pos 表示标签的位置,其余部分与节点的语法类似。(c,b,a)表示标签应出现在哪个角度/位置;并$\angleCBA$打印该角度。

输出

图1

代码

\documentclass[margin=10pt,tikz]{standalone}
\usepackage{tkz-euclide}
\usepackage{fp}

\tikzset{
    myangle/.style={fill=green!20!white, draw=green!50!black,size=.3,opacity=.3}
}


\begin{document}
\begin{tikzpicture}

\coordinate (a) at (0,0);
\coordinate (b) at (5,3);
\coordinate (c) at (3,6);

\draw (a) coordinate[label=left:A] -- (b) coordinate[label=right:B] -- (c) coordinate[label=above:C] -- cycle;

\tkzFindAngle(c,b,a)\tkzGetAngle{angleCBA}\FPround\angleCBA\angleCBA{0}
\tkzFindAngle(a,c,b)\tkzGetAngle{angleACB}\FPround\angleACB\angleACB{10}
\tkzFindAngle(b,a,c)\tkzGetAngle{angleBAC}\FPround\angleBAC\angleBAC{0}

\tkzMarkAngle[size=.5](c,b,a)
\tkzLabelAngle[pos=-.82](c,b,a){\tiny $\angleCBA^\circ$}

\tkzMarkAngle[size=.5](a,c,b)
\tkzLabelAngle[pos=0.6](a,c,b){\tiny $\angleACB^\circ$}

\tkzMarkAngle[size=.5](b,a,c)
\tkzLabelAngle[pos=.7](b,a,c){\tiny $\angleBAC^\circ$}

\end{tikzpicture}
\end{document}

相关内容