1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
function draw_branch(x, y, t)
{
if (t > 8)
return;
var sz = (400 * pow(0.5, t)) * map(255-frameCount%256, 0, 255, 0, 1);
var angle = map(mouseX, 0, width, 0, HALF_PI) + t * map(mouseY, 0, height, -HALF_PI, HALF_PI);
line(x, y, x+cos(angle)*sz, y-sin(angle)*sz);
line(x, y, x-cos(angle)*sz, y-sin(angle)*sz);
draw_branch((x+cos(angle)*sz), (y-sin(angle)*sz), t+1);
draw_branch((x-cos(angle)*sz), (y-sin(angle)*sz), t+1);
}
function setup()
{
createCanvas(700, 700);
background(255);
draw_branch(width/2, height, 0);
}
function draw()
{
background(255);
draw_branch(width/2, height, 0);
}
|