xxxxxxxxxx
65
function setup() {
createCanvas(1200,1200);
// background('black');
background('#000035')
stroke('#FAF9F6');
let turtleString = "B";
translate(width/2,height/2);
for (let i=0; i < 11; i++) {
turtleString = turtleString.replaceAll("B","F+F[B+]-B[-B]FF");
}
for (let i=0; i < 10; i++) {
push();
rotate(PI*i/4);
// turtleString.replaceAll("F","F+[F+]-F[-F]");
print(turtleString);
// stroke('white');
strokeWeight(1);
renderString(turtleString);
pop();
}
}
let branchLength = 10;
let angle = Math.PI / 10;
function renderString(string) {
for (let character of string) {
if (character == 'F') {
rotate(random(angle, -angle));
strokeWeight(branchLength / 15);
push();
// line(0, 0, 0, 0);
pop();
push();
line(0, 0, 0, -branchLength);
pop();
translate(0, -branchLength);
// strokeWeight(branchLength/50);
// line(0, 0, 0, -branchLength);
// // line(0, 0, -branchLength, 0);
// // line(-branchLength, 0, 0, 0);
// translate(0, -branchLength);
} else if (character == '+') {
rotate(angle);
} else if (character == '-') {
rotate(-angle);
} else if (character == '[') {
branchLength /= 2;
push();
} else if (character == ']') {
branchLength *= 2;
pop();
}
}
}