使用格点填充多边形

使用格点填充多边形

有没有一种好的方法,不用 /forloop 就能用格点填充多边形内部?也许像 /fill 函数那样?

答案1

用一个pattern

在此处输入图片描述

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary {patterns.meta, shapes.geometric} 

\tikzset{polygrid/.style={draw, regular polygon, regular polygon sides=#1, pattern={Dots[distance=5mm]}}}

\begin{document}

\begin{tikzpicture}
\node[polygrid=7, minimum size=5cm]{};
\end{tikzpicture}

\end{document}

答案2

您可以使用 TikZ 或 Asymptote 创建用户定义的模式。

在此处输入图片描述

// http://asymptote.ualberta.ca/
unitsize(1cm);
import patterns;

picture pic;
real d= 1mm;
fill(pic,box((-d,-d),(d,d)),white);
fill(pic,circle((0,0),d/4));
add("mydots",pic);

path p = (0,0)--(6,-1)--(5,4)--(1,3)--cycle;
filldraw(p,pattern("mydots"),blue);

shipout(bbox(5mm,invisible));

相关内容