TikZ,使用垂直坐标的“shift”

TikZ,使用垂直坐标的“shift”

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}

相关内容