Sierpinski triangle made up of straight lines
Log in to post a comment.
const recursion_depth = 7.; // min=1, max=10, step=1 const angle = 45.; // min=0.0, max=360, step=0.1 const start_len = 100; // min=0, max=200, step=0.1 const start_x = 0; // min=-200, max=200, step=0.1 const start_y = 0; // min=-200, max=200, step=0.1 // How do I get the size of the Canvas? Canvas.setpenopacity(1); const turtle = new Turtle(); turtle.setheading(angle); function walk(i) { current_len = start_len; current_x_y = [start_x,start_y]; stack = [[current_len,current_x_y]]; for(let i=0; i<recursion_depth; i++){ new_stack = []; console.log(i, stack); for(let j=0; j<stack.length; j++){ [drawlen, x_y] = stack[j]; turtle.penup(); turtle.goto(x_y[0], x_y[1]); turtle.backward(drawlen); turtle.pendown(); turtle.forward(drawlen/2.); new_stack.push([drawlen/2.,turtle.pos()]); turtle.forward(drawlen); new_stack.push([drawlen/2.,turtle.pos()]); turtle.forward(drawlen/2.); [x,y] = turtle.pos(); turtle.penup(); turtle.goto(x-drawlen*Math.cos(Math.PI/4.),y); turtle.pendown(); turtle.backward(drawlen/2.); new_stack.push([drawlen/2.,turtle.pos()]); turtle.backward(drawlen/2.); } stack = new_stack; } return false; }