xxxxxxxxxx
var xx = [];
var yy = [];
var anglee = [];
var distancee = 10;
var turnn = 30; // turn amount
function setup() {
createCanvas(windowWidth, windowHeight);
init();
strokeWeight(10);
noLoop();
}
function draw() {
}
function keyTyped() {
if(key=='c') init();
if(key=='f') // draw forward
{
let x1 = xx[xx.length-1] + distancee*cos(anglee[anglee.length-1]);
let y1 = yy[yy.length-1] + distancee*sin(anglee[anglee.length-1]);
line(xx[xx.length-1], yy[yy.length-1], x1, y1);
xx[xx.length-1] = x1;
yy[yy.length-1] = y1;
redraw();
}
if(key=='+') // turn right
{
anglee[anglee.length-1]+=radians(turnn);
}
if(key=='-') // turn left
{
anglee[anglee.length-1]-=radians(turnn);
}
if(key=='[') // start branch
{
xx.push(xx[xx.length-1]);
yy.push(yy[yy.length-1]);
anglee.push(anglee[anglee.length-1]);
}
if(key==']') // end branch
{
xx.pop();
yy.pop();
anglee.pop();
}
}
function init() {
background(100);
xx = [];
yy = [];
anglee = [];
xx[0] = width/2;
yy[0] = height/2;
anglee[0] = PI*3/2;
}