TikZ:使交叉路口的名称全球化

TikZ:使交叉路口的名称全球化

在 foreach 循环中,我创建点和它们之间的线,使它们相交,并命名它们的交点。此机制由 Intersections 库提供。

因为我在 foreach 循环的本地范围内,所以我需要使用类似的结构

\path[name path global=AB] (A) -- (B);

AB如果我想稍后从 for 循环外部访问它,则将名称设为全局名称。我的问题是:为了命名交点(在本例中为Z,其中ABCD相交),通常(在循环外部),我使用如下结构

\path[name intersections={of=AB and CD, by=Z}];

但在 foreach 中,我遇到了同样的问题:名称Z将是本地的。我无法弄清楚如何全局name intersections绑定与其by参数关联的变量。

如果我的问题描述不清楚,我也可以提供相同的代码。

答案1

我没有这个问题:

\documentclass[tikz,border=2mm]{standalone} 
\usetikzlibrary{intersections}

\begin{document}
\begin{tikzpicture}

\foreach \i [count=\ni] in {1,2,...,5}{
    \draw[name path=AB\ni, xshift=2*\i cm] (0,0)--++(45:2cm);
    \draw[name path=BA\ni, xshift=2*\i cm] (0,2)--++(-45:2cm);
    \path[name intersections={of={AB\ni} and {BA\ni}, by={Z\ni}}];
}

\draw (Z1) circle (2pt) -- (Z5) circle (2pt);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容