如何用另一个网格覆盖一个网格

如何用另一个网格覆盖一个网格

在 Tikz 中,我想显示多个重叠的网格,使得最后一个网格覆盖前一个网格。这是我得到的代码和错误输出,您可以看到所有网格的中间线。该fill=white参数似乎不起作用。

\begin{tikzpicture}
    \foreach \i in {0, 0.5, ..., 1.5}
        \draw[fill=white, xshift=\i cm, yshift=-\i cm] (0, 0) grid (4, 4);
\end{tikzpicture}

在此处输入图片描述

答案1

看来您希望获得以下内容:

在此处输入图片描述

上图由正方形组成。一种方法是:

\documentclass[tikz, margin=3mm]{standalone}

\begin{document}
\begin{tikzpicture}
\foreach \k in {0, 0.5, 1, 1.5}
{
    \begin{scope}[shift={(\k cm,-\k cm)}]
    \foreach \i in {0, 1,...,4}
    {
        \foreach \j in {0,1,...,4}
            \node[draw, fill=white, minimum size=1 cm, outer sep=0pt]
                  at (\i, \j) {};
    }
    \end{scope}
}
\end{tikzpicture}
\end{document}

附录: 更简单的方法是用白色填充的矩形绘制网格:

\documentclass[tikz, margin=3mm]{standalone}

\begin{document}
\begin{tikzpicture}
    \foreach \i in {0, 0.5, ..., 1.5}
{
\draw[fill=white, xshift=\i cm, yshift=-\i cm] (0, 0) rectangle (4, 4);
\draw[xshift=\i cm, yshift=-\i cm] (0, 0) grid (4, 4);
}
\end{tikzpicture}
\end{document}

结果与以前相同

相关内容