xxxxxxxxxx
60
var rX1 = [];
var rY1 = [];
var rX2 = [];
var rY2 = [];
var numStick = 11;
var count = 0;
var newsticks = true;
function setup() {
createCanvas(640, 480);
if (newsticks) {
for (var i = 0; i <= numStick; i++) {
for (var j = 0; j <= numStick; j++) {
rX1[i] = int(random(0, width));
rX2[j] = int(random(0, width));
rY1[i] = int(random(0, height));
rY2[j] = int(random(0, height));
newsticks = false;
}
}
}
}
function draw() {
background(230, 300, 150);
count = 0;
for (var i = 0; i<= numStick; i++) {
//count++;
line(rX1[i], rY1[i], rX2[i], rY2[i]);
for (var j = i + 1; j <= numStick; j++) {
var x1 = rX1[i];
var x2 = rX2[i];
var x3 = rX1[j];
var x4 = rX2[j];
var y1 = rY1[i];
var y2 = rY2[i];
var y3 = rY1[j];
var y4 = rY2[j];
var ua = (((x4 - x3) * (y1 - y3)) - ((y4 - y3) * (x1 - x3)))
/ (((y4 - y3) * (x2 - x1)) - ((x4 - x3) * (y2 - y1)));
var ub = (((x2 - x1) * (y1 - y3)) - ((y2 - y1) * (x1 - x3)))
/ (((y4 - y3) * (x2 - x1)) - ((x4 - x3) * (y2 - y1)));
if (ua > 0 && ua < 1 && ub > 0 && ub < 1) {
// count++
var xInt = x1 + (ua * (x2 - x1));
var yInt = y1 + (ua * (y2 - y1));
ellipse(xInt, yInt, 10, 10);
count++
}
}
}
}
function mousePressed() {
newsticks = !(newsticks);
setup();
print(count);
}