polygon
polygon(points, [stroke=#000000], [fill=#FFFFFF], [weight=1.00])
Draw a polygon (n-side polygon)
Syntaxe
polygon(points=[50, 62, 86, 50, 50, 38, 14, 50], stroke="#000000", fill="#FFA000", weight=4)
Arguments
| Name | Required | Default | Description |
|---|---|---|---|
points | yes | - | list of coords x/y - must be even (multiple of 2) |
stroke | - | #000000 | Stroke color |
fill | - | #FFFFFF | Fill color |
weight | - | 1.00 | Stroke weight (thickness) |
Full example
canvas(700, 700, "#020410", center=true);
var palette = ["#FFF8E1", "#FFECB3", "#FFE082", "#FFD54F", "
#FFCA28", "#FFC107", "#FFB300", "#FFA000", "#FF8F00", "#FF6F00"];
noise(1.0, 2.0, 2);
var phase = 0;
var phaseInc = 0.001;
var zoff = 0;
var breathing = 0;
var breathingInc = 0.7;
var rMin = 0.123 ;
var rMax = 10 ;
var count = 0;
for (var nb = 0; nb < 850; nb++) {
if (nb%5 == 0) {
var vertex = [];
var noiseMax = 5.8;
for (var a = 0; a < 360; a += 30) {
var xoff = map(cos(a + phase), -1, 1, 0, noiseMax);
var yoff = map(sin(a + phase), -1, 1, 0, noiseMax);
var r = map(noise3d(xoff, yoff, zoff), 0, 1, 20, 300);
var x = (r * cos(a) * rMin * (sin(0.85 * breathing) + rMax));
var y = (r * sin(a) * rMin * (sin(0.85 * breathing) + rMax));
vertex.add(x, y);
}
vertex = polygon_sortangles(vertex);
var col = palette[count % palette.length()];
polygon(vertex, stroke=col+"33", fill="transparent", weight=2);
count++;
}
phase += phaseInc;
zoff += 0.01;
breathing += breathingInc;
}
save("polygon.png");
