在坐标上绘制直线

在坐标上绘制直线

假设您想在名为“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)(如果使用,则会停留在那里++)。

相关内容