xxxxxxxxxx
65
let linesNum = 12;
function mouseClicked()
{
background(220,14,139);
let lines = []
for (let i = 0; i < linesNum; i++)
{
let x1 = random(width);
let x2 = random(width);
let y1 = random(height);
let y2 = random(height);
strokeWeight(1);
line(x1,y1,x2,y2);
lines[i] = x1;
lines[i + linesNum] = x2;
lines[i + linesNum*2] = y1;
lines[i + linesNum*3] = y2;
}
for (let lineI = 0; lineI < linesNum; lineI++)
{
for (let lineJ = lineI; lineJ < linesNum; lineJ++)
{
let x1 = lines[lineI];
let x2 = lines[lineI + linesNum];
let y1 = lines[lineI + linesNum*2];
let y2 = lines[lineI + linesNum*3];
let a1 = lines[lineJ];
let a2 = lines[lineJ + linesNum];
let b1 = lines[lineJ + linesNum*2];
let b2 = lines[lineJ + linesNum*3];
let slope1 = (y2-y1)/(x2-x1);
let slope2 = (b2-b1)/(a2-a1);
let intersectX = (slope1*x1-y1+b1-slope2*a1)/(slope1-slope2);
let intersectY = slope1*(intersectX-x1)+y1;
if (intersectX < max(x1,x2) && intersectX > min(x1,x2) &&
intersectX < max(a1,a2) && intersectX > min(a1,a2) &&
intersectY < max(y1,y2) && intersectY > min(y1,y2) &&
intersectY < max(b1,b2) && intersectY > min(b1,b2))
{
strokeWeight(0);
fill(22,135,141,50);
circle(intersectX,intersectY,15);
}
}
}
}
function setup()
{
createCanvas(640, 480);
mouseClicked();
}
function draw()
{
}