xxxxxxxxxx
52
function setup() {
createCanvas(1000,1000)
background('lightgray')
let turtleString = "B"
for (let i = 0; i < 6; i++) {
if (i < 5) {
turtleString = turtleString.replaceAll("B","F[+B][B][-B]")
} else {
turtleString = turtleString.replaceAll("B","O")
}
}
print(turtleString)
stroke('black')
// strokeWeight(8)
translate(width/2, height)
renderString(turtleString)
}
let branchLength = 300;
let angle = Math.PI / 6;
function renderString(string) {
for (let character of string) {
if (character == 'F') {
let randomness = random(0.5,1.5);
strokeWeight(branchLength/20)
line(0, 0, 0, -branchLength*randomness);
translate(0, -branchLength*randomness);
} else if (character == '+') {
rotate(angle*random(0.5,1.5));
} else if (character == '-') {
rotate(-angle*random(0.5,1.));
} else if (character == '[') {
branchLength /= 1.5;
strokeWeight(branchLength/20)
push();
} else if (character == ']') {
branchLength *= 1.5;
strokeWeight(branchLength*20)
pop();
} else if (character == 'O') {
fill('black')
stroke('black')
circle(0,0,20)
}
}
}