使用 tkz-euclide 用箭头标记角度

使用 tkz-euclide 用箭头标记角度

我使用 \tkzMarkAngle(A,O,P) 来标记角度。我希望这个标记(它只是一个圆弧)变成一个箭头,以表示旋转。我该怎么做?

答案1

下面是一个例子(厚颜无耻地从tkz-euclide手册中偷来的):

\documentclass{article}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetikzlibrary{calc}
\usetkzobj{all}
\pagestyle{empty}
\begin{document}

\begin{tikzpicture}[scale=2]
  \tkzDefPoint(0,0){O}
  \tkzDefPoint(2,-1){A}
  \tkzDefPoint(2,2){B}
  \tkzDefPointsBy[symmetry=center O](B,A){}
  \tkzDrawLine(A,A')
  \tkzDrawLine(B,B')
  \tkzMarkAngle[mark=s,arc=l,size=2 cm,mkcolor=red,line width=2pt,arrows=->](A,O,B)
\end{tikzpicture}

\end{document}

在此处输入图片描述

但您也可以使用如下装饰:

\documentclass{article}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetikzlibrary{calc}
\usetkzobj{all}
\pagestyle{empty}
\begin{document}

\begin{tikzpicture}[scale=2,my arrow/.style={decorate,decoration={markings,mark=at position 1 with {\arrow[scale=4]{>}};}}]
  \tkzDefPoint(0,0){O}
  \tkzDefPoint(2,-1){A}
  \tkzDefPoint(2,2){B}
  \tkzDefPointsBy[symmetry=center O](B,A){}
  \tkzDrawLine(A,A')
  \tkzDrawLine(B,B')
  \tkzDrawArc[postaction={my arrow}](O,A)(B)
\end{tikzpicture}

\end{document}

要得到

在此处输入图片描述

更新

mark=at position 1 with ...当 TikZ 认为1已经超出路径末尾时,这似乎并不总是有效。因此,你可以使用以下方法修改它:

mark=at position -0.1pt with ...

负距离告诉 TikZ 将装饰物放置在路径的末端。我建议距离可以忽略不计。此外,如果你已经加载了 TikZ 库calc,你可以写类似

\coordinate (tOA) at ($(O)!2cm!(A)$);
\tkzDrawArc[postaction={my arrow}](O,tOA)(B)

控制圆弧与角顶点之间的距离。

相关内容