summaryrefslogtreecommitdiff
path: root/js/treegenerator.js
blob: 599cade5d27867d62fed76031bb719978cf25491 (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
25
26
27
28
29
30
31
32
33
34
35
36
var size;
var start_angle;
var angle_decay;

function draw_branch(x, y, t)
{
    if (t > 8)
        return;
    var sz = size * pow(0.5, t);
    var angle = start_angle + angle_decay * t;
    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(750, 750);
    stroke(0);
}

function draw()
{
    size = parseFloat($("#size").val());
    start_angle = parseFloat($("#angle").val());
    angle_decay = parseFloat($("#angledecay").val());
    background(255);
    draw_branch(width/2, height, 0);
}

function saveTree()
{
	save("tree.png");
}