xxxxxxxxxx
102
// inspired by this amazing dude https://youtu.be/PKjbBQ0PBCQ
let b1, b2, c1, c2;
var toggleClick = true;
function setup() {
createCanvas(400, 400);
b1 = color(0);
b2 = color(0);
c1 = color(0);
c2 = color(0);
}
function setColors(){
b1 = color(random(0,255));
b2 = color(random(0,255));
c1 = color(random(0,255), random(0,255), random(0,255));
c2 = color(random(0,255), random(0,255), random(0,255));
}
function drawThing(someval){
var d = 0.5;
var slopes = new Set();
var slopeCounts = {}
background(220);
push();
translate(0,400);
var x = 0;
stroke(0);
while (x < 400){
for (var i = 0; i < 400; i++){
if (slopes.has( (i/x) )){
let inter = map(i, 0, 400, 0, 1);
let c = lerpColor(c1, c2, inter);
stroke(c);
slopeCounts[(i/x)] = (slopeCounts[(i/x)] || 0) +1
strokeWeight(slopeCounts[(i/x)]/(someval));
point(x,-i);
}
else {
// strokeWeight(1);
// point(x,-i);
}
slopes.add((i/x));
}
x+=d;
}
stroke(255,255,255);
strokeWeight(2);
line(0, 0, 400, -400);
pop();
}
function mouseMoved(){
if (toggleClick) {
let noiseScale = 0.02;
var something = map(mouseX, 0,400,1,20)
drawThing(something);
console.log(something);
}
}
function keyPressed(){
if (key == ' ' && !toggleClick){
var val = random(2,25);
console.log(`space pressed -- rendering something random. value is ${val}`);
drawThing();
} if (key == 'c' ){
var val = random(2,25);
console.log(`'randomising colors ${val} is the val'`);
setColors();
drawThing(random(5,25));
}
}
function mouseClicked(){
toggleClick = !toggleClick;
if (toggleClick){
console.log("clicked! rendering back on again!")
} else{
console.log("clicked! wont re-render!");
}
}
function draw() {
drawThing(15);
noLoop();
}