我似乎无法弄清楚 TikZ 中 + 和 ++ 相对坐标之间的区别。
我理解 ++。++ 指定添加到最后一个当前点的增量坐标,然后将当前点设置为新的绝对当前点(正确吗?):
\draw (0,0) -- ++(1,0) -- ++(0,1) means:
set Current Point to (0,0)
add (1,0) to Current Point = (1,0)
set Current Point to (1,0)
add Current Point (1,0) to (0,1) = (1,1)
set Current Point to (1,1)
我似乎无法弄清楚 + 的作用,当我尝试时,它看起来像 +(x,y) 中的坐标是绝对坐标,而不是增量坐标,但手册却另有说明
答案1
你的例子:
\draw (0,0) -- ++(1,0) -- ++(0,1)
方法:
- 現在的點是
(0,0)
。 从当前点
(0,0)
到画一条线(0,0)+(1,0)
(矢量加法)并将当前点移动到(0,0)+(1,0)
。接下来从当前点
(0,0)+(1,0)
到画一条线(0,0)+(1,0)+(0,1)
,并将当前点移动到(0,0)+(1,0)+(0,1)
。
其他示例如下。
\documentclass[tikz,border=12pt]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (-2,-2) grid (2,2);
\fill (110:2) circle (1pt);
\draw (110:2) -- +(0,-1);
\end{tikzpicture}
\end{document}
TikZ 备注:
\draw (110:2) -- +(0,-1);
当前点为(110:2)
。它从点到点绘制一条线(110:2)
((110:2)+(0,-1)
矢量加法)。当前点仍在(110:2)
。\draw (110:2) -- ++(0,-1);
当前点为(110:2)
。它从点到点绘制一条线(110:2)
((110:2)+(0,-1)
矢量加法)。当前点移动到(110:2)+(0,-1)
。\draw (110:2) +(0,-1) -- +(0,1);
当前点是(110:2)
。它从点到点画一条线(110:2)+(0,-1)
。(110:2)+(0,1)
当前点仍然在(110:2)
。\draw (110:2) ++(0,-1) -- +(0,1);
当前点是(110:2)+(0,-1)
。它从点到点画一条线(110:2)+(0,-1)
。(110:2)+(0,-1)+(0,1)
当前点仍然在(110:2)+(0,-1)
。\draw (110:2) ++(0,-1) -- ++(0,1);
当前点为(110:2)+(0,-1)
。它从点 到(110:2)+(0,-1)
点画一条线(110:2)+(0,-1)+(0,1)
。当前点移动到(110:2)+(0,-1)+(0,1)
(等于(110:2)
)。
编辑:
\draw (0,0) -- +(1,1) -- +(2,0)
方法
現在的點是
(0,0)
。第一部分连接
(0,0)
和(0,0)+(1,1)
。目前 点 仍 是
(0,0)
。连接前一点
(0,0)+(1,1)
和的第二条线段(0,0)+(2,0)
。
关键是A -- B
连接A
和B
与一条线无论如何A
定义B
。