xxxxxxxxxx
42
let angle, slider
function setup() {
createCanvas(400, 400)
noLoop()
slider = createSlider(0, TWO_PI, PI / 4, 0.01)
slider.input(redraw)
}
function draw() {
background(220)
translate(width / 2, height)
angle = slider.value()
branch(height * 0.3, angle)
}
function branch(len, angle) {
line(0, 0, 0, -len)
translate(0, -len)
let a = angle
if (len > 2) {
push()
if (random(1) < 0.5) {
a -= random(0, 0.1)
} else {
a += random(0, 0.1)
}
rotate(a)
branch(len * random(0.4, 0.7), a)
pop()
a = -angle
push()
if (random(1) < 0.5) {
a -= random(0, 0.1)
} else {
a += random(0, 0.1)
}
rotate(a)
branch(len * random(0.4, 0.7), a)
pop()
}
}