function drawCurvedEdges()

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);

        }

    }
}