我已经在谷歌上搜索,但没有得到关于这个问题的答案或文章。我想创建一个六边形网格,但需要以半色调的方式呈现,因此我可能需要在图案中使用多个六边形。下面是生成六边形图案的代码,但不是半色调图案。我需要半色调图案水平排列。我在 Adobe 上有一个半色调图案的链接,但网格太小且垂直排列,我希望水平排列。这是我在 codepen 上制作的六边形网格的链接。请问有人能向我展示如何使六边形图案以半色调方式水平排列吗?
html, body {
height: 100%;
margin: 0;
padding: 0;
background: black;
}
svg {
background: rgb(125, 155, 132);
}
polygon {
fill: rgb(125, 155, 132);
stroke-width: 1;
stroke: #000;
}
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%">
<defs>
<pattern id="hexagons" width="50" height="43.4"
patternUnits="userSpaceOnUse"
patternTransform="scale(2)">
<polygon
points="24.8,22 37.3,29.2 37.3,43.7 24.8,50.9 12.3,43.7 12.3,29.2"
id="hex" shape-rendering="geometricPrecision" />
<use xlink:href="#hex" x="25" />
<use xlink:href="#hex" x="-25" />
<use xlink:href="#hex" x="12.5" y="-21.7" />
<use xlink:href="#hex" x="-12.5" y="-21.7" />
</pattern>
</defs>
<rect width="100%" height="100%" fill="url(#hexagons)" />
</svg>
let angle = map(y, 0, H, 0, Math.PI);
更改为let angle = map(x, 0, H, 0, Math.PI);
。现在绘制的六边形半径是根据x
值的函数。 - enxaneta