假设您想在名为“cor”的坐标上绘制一条直线,但您不知道该坐标的位置。Cor 必须位于该线的中心。
我尝试过这个:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\coordinate (cor) at (0,0) ;
\draw (cor)+(180:2cm)--(cor)+(0:2cm);
\end{tikzpicture}
\end{document}
但它不起作用。如果你使用
\draw (cor)+(180:2cm)--+(2,0);
我的问题是:为什么在第一种情况下不起作用?这两种方法不应该带来相同的结果吗?
答案1
因为 TikZ 在找到合法的坐标声明时会停止寻找下一个坐标。而且由于流上没有其他路径,所以除了移动到 的左侧之外什么也不会发生(cor)
。在第一种情况下,您首先移动到(cor)
然后使用临时相对坐标,然后返回(cor)
并使用第二个相对坐标。
如果你想执行坐标计算,你可以使用
\begin{tikzpicture}
\coordinate (cor) at (0,0);
\draw (cor)+(180:2cm)--($(cor)+(0:2cm)$);
\end{tikzpicture}
通过\usetikzlibrary{calc}
序言中的说明。或者,你可以说
\begin{tikzpicture}
\coordinate (cor) at (0,0);
\draw (cor)+(180:2cm)--+(0:2cm);
\end{tikzpicture}
因为在第一个相对+
坐标之后,TikZ 会返回到(cor)
(如果使用,则会停留在那里++
)。