xxxxxxxxxx
55
function setup() {
createCanvas(1000, 1000);
}
// version 3
const array = [];
const array2 = [];
var lastP = {
x : -1,
y : -1
};
var lastP2 = {
x : -1,
y : -1
};
function draw() {
background(255, 200, 200);
var p = {
x : mouseX,
y : mouseY
};
var dx = (p.x - lastP.x);
var dy = (p.y - lastP.y);
var lineLen = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2));
var ratio = 50/lineLen;
var newDx = dy*ratio;
var newDy = -dx*ratio;
var p2 = {
x : p.x + newDx,
y : p.y + newDy
}
if (lastP != p) {
array.push(p);
array2.push(p2);
}
lastP = p;
lastP2 = p2;
if (array.length > 100) {
array.shift();
array2.shift();
}
for (var i = 0; i < array.length - 1; i++) {
line(array[i].x, array[i].y, array[i+1].x, array[i+1].y);
line(array2[i].x, array2[i].y, array2[i+1].x, array2[i+1].y);
}
}