tikz:绘制角度时的坐标算法

tikz:绘制角度时的坐标算法

我可以画出这样的角度:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, angles}
\begin{document}
\begin{tikzpicture}
  \coordinate(O1) at (1, 1);
  \coordinate(O) at (1, 0);
  \coordinate(O2) at (0, 0);                                                                                                          
  \draw pic [draw, angle radius=1cm] {angle=O1--O--O2};
\end{tikzpicture}
\end{document}

输出结果如下:

在此处输入图片描述

现在我想在绘制角度时执行坐标运算:

\draw pic [draw, angle radius=1cm] {angle=$(O) + (0, 1)$--(O)--$(O) + (-1, 0)$};

这种方法会失败,但类似的方法在画线时会成功:

\draw (O) -- ($(O) + (1, 1)$);   

画角度时如何进行坐标运算?

答案1

正如评论中提到的,你不能。手册上说

三个点<A><B>、 和<C>必须是节点或坐标的名称;不能像(1,1)这里一样使用直接坐标。

因此,首先计算并命名坐标。

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, angles}
\begin{document}
\begin{tikzpicture}
  \coordinate(O) at (1, 0);
  \coordinate (O2) at ($(O) + (0, 1)$);
  \coordinate (O3) at ($(O) + (-1, 0)$);
  \draw pic [draw, angle radius=1cm] {angle=O2--O--O3};
\end{tikzpicture}
\end{document}

相关内容