in toolkit/jb/shared.js [715:805]
function drawShapes(p, config) {
// return;
var voronoi = config.voronoi;
var width = window.innerWidth;
var height = window.innerHeight;
var polygons = voronoi.polygons();
var cells = voronoi.cells;
var palette = config.palette;
p.smooth();
p.noStroke();
//p.blendMode(p.SCREEN);
var shapes = [];
var s = 0;
var minX, minY, maxX, maxY;
var area;
var coords;
var l, site;
// p.noiseDetail(1, 1);
for (var j = 0; j < polygons.length; j++) {
//if (!polygons[j]) continue;
coords = polygons[j];
minX = Infinity, minY = Infinity;
maxX = 0, maxY = 0;
for (l = 0; l < coords.length; l++) {
minX = Math.min(maxX, coords[l][0]);
minY = Math.min(minY, coords[l][1]);
maxX = Math.max(maxX, coords[l][0]);
maxY = Math.max(maxY, coords[l][1]);
}
site = cells[j].site;
area = (maxX - minX) * (maxY - minY);
var qty = p.map(config.qty, 0, 1, 0, 5000);
if (area < qty) {
shapes.push({
coords: coords,
value: p.noise(site[0] / width, site[1] / height)
});
s++;
}
}
var value, colorValue;
var startColor, middleColor, endColor, resultColor;
for (j = 0; j < shapes.length; j++) {
if (!shapes[j]) continue;
value = shapes[j].value;
// startColor = hexToColor(p, palette[0], value * 255);
// middleColor = hexToColor(p, palette[1], value * 255);
// endColor = hexToColor(p, palette[2], value * 255);
// colorValue = value * 0.6;
// if (colorValue < 0.5) {
// resultColor = p.lerpColor(startColor, middleColor, colorValue );
// } else {
// resultColor = p.lerpColor(middleColor, endColor, (colorValue - 0.5) );
// }
//console.log(/*value, palette.length, value * palette.length, */colorIdx);
p.fill(hexToColor(p, p.random(palette), value * 255));
//p.fill(255, value * 255);
// p.fill(resultColor);
//p.fill(p.color('#ff0000'));
p.beginShape();
coords = shapes[j].coords;
for (var l = 0; l < coords.length; l++) {
p.vertex(coords[l][0], coords[l][1]);
}
p.endShape(p.CLOSE);
}
}