在 TikZ 中快速绘制带有网格的形状

在 TikZ 中快速绘制带有网格的形状

我想画很多简单的东西(即顶点在网格上的多边形)像这样。 在此处输入图片描述 现在我的代码是多次使用 Ctrl+c ctrl+v 和多光标编写的,看起来像

\documentclass{article}

\usepackage{tikz}

\begin{document}

    \begin{tikzpicture}
        \draw[gray] (1,0) --++ (0,3);
        \draw[gray] (2,0) --++ (0,1);
        \draw[gray] (3,0) --++ (0,1);
        \draw[gray] (0,1) --++ (2,0);
        \draw[gray] (0,2) --++ (2,0);
        \draw[very thick] (0,0) --++ (0,3) --++ (2,0) --++ (0,-2) --++ (2,0) --++ (0,-1) -- cycle;
    \end{tikzpicture}

\end{document}

对于较大的形状,情况会更糟。有没有办法让这个过程更简单,例如生成网格,但只显示多边​​形内部的部分?

答案1

您可以绘制一个网格,\clip它:

\documentclass{article}

\usepackage{tikz}

\begin{document}

    \begin{tikzpicture}
        \clip (0,0) |- ++(2,3) |- ++(2,-2) |- cycle;
        \draw[step=1.0,gray] (0,0) grid (3,3);
        \draw[very thick] (0,0) |- ++(2,3) |- ++(2,-2) |- cycle;
    \end{tikzpicture}

\end{document}

答案2

简单的图片,简单的代码。

\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[help lines] (0,0) grid (2,3) (2,0) grid (4,1);
\draw (0,0)-|(4,1)-|(2,3)-|cycle;
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容