xxxxxxxxxx
51
function setup() {
createCanvas(1080, 1080);
angleMode(DEGREES);
l = 280;
factor = 0.7;
minLength = 25; //branches shorter than this wont be displayed, bigger numbers help performance, smaller ones make it more detailed
}
function draw() {
background(220);
translate(width / 2, height);
angle = cos(frameCount) * 5 + 40;
stroke(30);
tree(l, 16);
strokeWeight(1);
fill(0);
quad(-14, 0, 14, 0, 7, -l, -7, -l);
resetMatrix();
strokeWeight(1);
stroke(90);
fill(80);
textFont('Nunito', 30);
text("@URBANOXYGEN_", 20, height - 20);
}
function tree(len, sW) {
strokeWeight(sW);
stroke(140 - sW * 50);
line(0, 0, 0, -len);
if (len * factor > minLength) {
push();
translate(0, -len);
rotate(angle);
tree(len * factor, sW * (factor - 0.05));
pop();
push();
translate(0, -len);
rotate(angle * 0.5);
tree(len * factor, sW * (factor - 0.05));
pop();
push();
translate(0, -len);
rotate(-angle);
tree(len * factor, sW * (factor - 0.05));
pop();
}
}