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