function drawEdgesJoints()

in toolkit/jb/shared.js [546:659]


function drawEdgesJoints(p, config) {
    var voronoi = config.voronoi;
    var radius = config.jointRadius;
    var border = config.jointBorder;
    var srcPixels = config.pixels.values;
    var srcWidth = config.pixels.width || window.innerWidth;
    var srcHeight = config.pixels.height || window.innerHeight;

    var d = config.pixels.density;

    var dsrcWidth = srcWidth * d;
    var dsrcHeight = srcHeight * d;

    var palette = config.palette;

    var s = config.jointSize;
    p.rectMode(p.CENTER);


    var myEdges = voronoi.edges; //myDelaunay.getEdges();

    var squares = [];

    for (var n = 0; n < myEdges.length; n++) {

        if (!myEdges[n]) continue;
        var startX = myEdges[n][0][0];
        var startY = myEdges[n][0][1];
        var endX = myEdges[n][1][0];
        var endY = myEdges[n][1][1];


        var pxBrightnessStart = Math.floor(pixelBrightnessByCoords(startX, startY, srcPixels, srcWidth, d));
        var pxBrightnessEnd = Math.floor(pixelBrightnessByCoords(endX, endY, srcPixels, srcWidth, d));
        if (!pxBrightnessEnd) {
            pxBrightnessEnd = 0
        }
        ;
        if (!pxBrightnessStart) {
            pxBrightnessStart = 0
        }
        ;

        //  if (pxBrightnessStart & pxBrightnessEnd) {

        //   if(pxBrightnessStart > 80) {console.log(pxBrightnessStart) };
    //   var randomStartSeed = Math.floor(p.random(3));
     //   var randomEndSeed = Math.floor(p.random(3));
      //  var randomEndSeed = randomStartSeed;

       /* while( randomEndSeed != randomStartSeed ) {
            randomEndSeed = Math.floor(p.random(3));
        }
*/

        var randomStartColor = p.random(palette);
        var randomEndColor = p.random(palette);


        /* while (randomStartColor  == randomEndColor) {
            randomEndColor = p.random(palette);
        } */




        var brightnessStart = p.map(pxBrightnessStart, 40, 100, 0, 1);
        var brightnessEnd = p.map(pxBrightnessEnd, 40, 100, 0, 1);
        //var colorStart = p.lerpColor(hexToColor (p, randomStartColor, 200), hexToColor (p, randomStartColor, 255), brightnessStart);
        //var colorEnd = p.lerpColor(hexToColor (p, randomEndColor, 200), hexToColor (p, randomEndColor, 255), brightnessEnd);
        //var colorStart = p.lerpColor(p.color(255, 100), p.color(255, 255), brightnessStart);
        //var colorEnd = p.lerpColor(p.color(255, 100), p.color(255, 255), brightnessEnd);
        var colorStart = p.lerpColor(hexToColor(p, randomStartColor, 100), hexToColor(p, randomStartColor, 255), brightnessStart);
        var colorEnd = p.lerpColor(hexToColor(p, randomEndColor, 100), hexToColor(p, randomEndColor, 255), brightnessEnd);


        p.strokeWeight(1);
        p.stroke(255);

        // --> p.blendMode(p.SCREEN);

        gradientLine(startX, startY, endX, endY, colorStart, colorEnd);
        //     line(startX, startY, endX, endY);

        squares[n] = {
            x: startX, y: startY,
            size: Math.floor(p.map(pxBrightnessStart, 40, 100, 1, s)),
            //color: /*p.color(p.random(0, 255), p.random(0, 255), p.random(0, 255))*/ p.lerpColor(hexToColor (p, randomStartColor, 100), hexToColor (p, randomStartColor, 255),/*colorStart , p.color(255, 255), */ p.random(0, 1))
            color: (Math.random() < 0.5) ? colorStart : colorEnd
        };

    }

    var square, sqSize;
    for (var n = 0; n < myEdges.length; n++) {
        if (!myEdges[n]) continue;
        square = squares[n];
        sqSize = square.size;
        p.fill(p.red(square.color), p.green(square.color), p.blue(square.color), 255);
        p.noStroke();


        if (sqSize > 0) {
            p.ellipse(square.x, square.y, sqSize/3, sqSize/3);
            p.stroke(24);
            p.strokeWeight(border);
            p.rect(square.x, square.y, sqSize, sqSize, sqSize * radius);
        }
    }


       // }

}