in toolkit/jb/shared.js [662:712]
function drawCurvedEdges(p, config) {
var voronoi = config.voronoi;
var palette = config.palette;
var near = config.near;
var far = config.far;
var curve = config.curve;
var density = config.density;
var myEdges = voronoi.edges;
var startX, startY, endX, endY;
var randomEdge, randomX, randomY, myDist;
for (var n = 0; n < myEdges.length; n++) {
if (!myEdges[n]) continue;
startX = myEdges[n][0][0];
startY = myEdges[n][0][1];
endX = myEdges[n][1][0];
endY = myEdges[n][1][1];
randomEdge = Math.floor(p.random(0, myEdges.length));
if (!myEdges[randomEdge]) continue;
randomX = myEdges[randomEdge][0][0];
randomY = myEdges[randomEdge][0][1];
myDist = p.dist(startX, startY, randomX, randomY);
if (p.random(0, 1) < density && (myDist < near * 1000) && (myDist > far * 1000)) {
p.noFill();
p.stroke(p.color(hexToColor(p, p.random(palette),p.random(100, 255))));
p.strokeWeight(0.3);
// --> p.blendMode(p.OVERLAY);
p.bezier(
startX, startY,
startX, startY + curve * 1000, //TODO: make beautiful curves in future
randomX, randomY - curve * 1000,
randomX, randomY
);
// --> p.blendMode(p.BLEND);
}
}
}