xxxxxxxxxx
132
let randArray = [];
let loops;
let branchLength = 15;
let angle;
// let angle;
let rAngle;
let nrAngle;
let val;
let slider;
function setup() {
createCanvas(600,600);
// background('black');
stroke('#FAF9F6');
slider = createSlider(-branchLength, 0, -branchLength);
slider.position(10, 10);
slider.style('width', '80px');
slider2 = createSlider(2, 10, 8);
slider2.position(10, 40);
slider2.style('width', '80px');
slider3 = createSlider(3, 10, 8);
slider3.position(10, 70);
slider3.style('width', '80px');
frameRate(.2);
// rAngle= random(angle, -angle);
}
let rand;
function draw() {
val= slider.value();
background('#000035')
angleNumber = slider2.value();
angle = Math.PI / angleNumber;
loops = slider3.value();
translate(width/2,height/2);
// clear();
// background(val);
// nrAngle = random(-angle);
// clear();
// noLoop();
// clear();
let turtleString = "B";
// translate(width/2,height/2);
for (let i=0; i < loops; i++) {
turtleString = turtleString.replaceAll("B","F+[B+]-B[-B]FF");
// noLoop();
}
for (let i=0; i < 10; i++) {
// push();
// rotate(PI*i/3);
// i++
// turtleString.replaceAll("F","F+[F+]-F[-F]");
// print(turtleString);
// stroke('white');
// strokeWeight(10);
renderString(turtleString);
// pop();
// push();
// turtleString.replaceAll("F","F+[F+]-F[-F]");
// un dooooo print(turtleString);
// run he turtlestring array through for loop to append random angle numbers to a new array thatt will be looped hrough in the function below
//print();
// stroke('white');
// undoo strokeWeight(branchLength / 10);
// undoo renderString(turtleString);
}
function renderString(string) {
// translate(width/2,height/1.1);
for (let character of string) {
if (character == 'F') {
rand = random(angle,-angle);
// noLoop();
rotate(rand);
// rotate(rAngle);
strokeWeight(branchLength / 10);
// line(0, 0, 0, -branchLength);
line(0, 0, 0, val);
translate(0, -branchLength);
// F++
// noLoop();
// 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();
}
}
}
}