summaryrefslogtreecommitdiff
path: root/js/tree.js
blob: f3c977d429cd9cc3e06268eac4a1aac4dd9ef165 (plain)
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);
}