xxxxxxxxxx
63
// https://discourse.processing.org/t/gentle-jiggle-with-sine-wave/5291
let drawline = false;
let strong = 1.0;
let wind = 5.0;
let winddir = 1.0;
function setup() {
createCanvas(500, 500);
background(0);
stroke(255);
print("click and drag to start draw lines ");
print("use mouse wheel for line width");
print("use Arrow UP DOWN for wind speed");
print("use Arrow LEFT RIGHT for wind direction");
print("use key [c] for clear");
}
function draw() {
strokeWeight(strong);
if (drawline) line(mouseX, mouseY, mouseX + wind*sin(winddir/TWO_PI), mouseY+ wind*cos(winddir/TWO_PI));
}
function mouseDragged() {
drawline = true;
}
function mouseReleased() {
drawline = false;
}
function mouseWheel(event) {
strong += event.delta/10.0;
if (strong < 0) strong =1.0;
print("line weight: "+nf(strong,1,1));
return false;
}
function keyReleased() {
if (keyCode === UP_ARROW) {
wind++;
print("new wind: "+wind);
}
if (keyCode === DOWN_ARROW) {
wind--;
print("new wind: "+wind);
}
if (keyCode === LEFT_ARROW) {
winddir--;
print("new winddir: "+winddir);
}
if (keyCode === RIGHT_ARROW) {
winddir++;
print("new winddir: "+winddir);
}
if (key === 'c') {
background(0);
}
}