<svg width="${w}" height="${h}">
<rect x="0" y="0" width="${w}" height="${h}" stroke="none" fill="black"></rect>
<g>
${_.range(rectangles).map((i) => {
const angle = (Math.PI * 2 * i) / rectangles;
const mag = w / 4 + circleSize;
const pos = PVector(w / 2, h / 2).add(
PVector().setMag(mag).rotateBy(angle)
);
const size =
rectMaxSize *
simplex.noise2D(
(pos.x * Math.sin(now / xSlow)) / 100,
(pos.y * Math.cos(now / ySlow)) / 100
);
return svg`<rect
width="${size}"
height="${size}"
stroke="white"
fill="none"
transform="translate(${pos.x},${pos.y})"
/>`;
})}
</g>
</svg>