TikZ 允许这样使用shift
:
\documentclass[border=2mm,tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning,calc}
\begin{document}
\begin{tikzpicture}
\coordinate (a0) at (4,3);
\coordinate (a1) at (5,2);
\coordinate (a2) at (6,8);
\draw (a1) -- ([shift={(1,0.5)}]a2);
\end{tikzpicture}
\end{document}
但例如这种用法
\draw (a1) -- ([shift={(1,0.5)}](a2 |- a0));
会产生错误。
定义 acoordinate
可以(a2 |- a0)
解决这个问题。但是有没有办法shift
直接与垂直坐标一起使用?
答案1
您可以([shift={(1,0.5)}]a2 |- a0)
直接使用 来移动坐标。
代码:
\documentclass[border=2mm,tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning,calc}
\begin{document}
\begin{tikzpicture}
\draw[help lines](3,1)grid(8,10);
\coordinate (a0) at (4,3);
\coordinate (a1) at (5,2);
\coordinate (a2) at (6,8);
\draw (a1) -- ([shift={(1,0.5)}]a2 |- a0);
\foreach \i in {0,1,2}{%
\node[fill,circle,inner sep=1pt,label=above:a\i] at (a\i){};
}
\end{tikzpicture}
\end{document}