xxxxxxxxxx
55
let slider;
let sliderAngle;
function setup() {
createCanvas(800, 800);
slider = createSlider(0, 40, 25);
sliderAngle = createSlider(0, 180, 45)
slider.input(redraw);
sliderAngle.input(redraw);
}
function draw() {
background(220);
translate(width/2, height/20);
branch(slider.value(), true, sliderAngle.value());
noLoop();
}
function mousePressed() {
redraw();
}
function branch(len, two, angle) {
line(0,0,0,len);
translate(0,len);
if (len < 18) {
return
}
push()
if (random(16) < 1) {
circle(0,0,10)
return;
}
rotate(radians(angle));
branch(len - 1, !two, -angle);
pop()
if (two) {
if (random(16) < 1) {
circle(0,0,10)
return;
}
push()
rotate(radians(-angle));
branch(len - 1, !two, angle);
pop()
}
circle(0,0,10)
}