![tikz:绘制角度时的坐标算法](https://linux22.com/image/359720/tikz%EF%BC%9A%E7%BB%98%E5%88%B6%E8%A7%92%E5%BA%A6%E6%97%B6%E7%9A%84%E5%9D%90%E6%A0%87%E7%AE%97%E6%B3%95.png)
我可以画出这样的角度:
\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}