xxxxxxxxxx
105
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[B+]-B[-B]FF+F-FB");
}
for (let i=0; i < 2; i++) {
push();
rotate(PI*i/2);
// turtleString.replaceAll("F","F+[F+]-F[-F]");
print(turtleString);
// stroke('white');
strokeWeight(10);
renderString(turtleString);
pop();
// push();
// push();
// rotate(PI*2);
// // turtleString.replaceAll("F","F+[F+]-F[-F]");
// print(turtleString);
// // stroke('white');
// strokeWeight(10);
// renderString(turtleString);
// pop();
// push();
// rotate(HALF_PI);
// // turtleString.replaceAll("F","F+[F+]-F[-F]");
// print(turtleString);
// // stroke('white');
// strokeWeight(10);
// renderString(turtleString);
// pop();
// push();
// rotate(PI+HALF_PI);
// // turtleString.replaceAll("F","F+[F+]-F[-F]");
// print(turtleString);
// // stroke('white');
// strokeWeight(10);
// renderString(turtleString);
// pop();
}
// push();
// rotate(QUARTER_PI);
// turtleString = turtleString.replaceAll("B","F+[B+]-B[-B]FF");
// }
// // turtleString.replaceAll("F","F+[F+]-F[-F]");
// print(turtleString);
// // stroke('white');
// strokeWeight(10);
// renderString(turtleString);
// pop();
}
let branchLength = 200;
let angle = Math.PI/15 ;
function renderString(string) {
for (let character of string) {
if (character == 'F') {
rotate(QUARTER_PI);
strokeWeight(branchLength / 30);
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();
}
}
}