// Forked from "Barnsley fern" by reinder // https://turtletoy.net/turtle/7e604ce874 const levels = 50; // min=5, max=50, step=1 const baseSize = 130; // min=10, max=200, step=10 const scaleFactor = 0.96; // min=0.5, max=0.99, step=0.01 const curveFactor = 105; // min=10, max=200, step=5 Canvas.setpenopacity(1); const turtle = new Turtle(); function drawStupa(levels, size, scaleFactor, curveFactor) { for (let i = 0; i < levels; i++) { // Draw a rounded layer of the stupa turtle.circle(size / 2, curveFactor); // Draw an arc turtle.right(180 - curveFactor); // Adjust for symmetry turtle.circle(size / 2, curveFactor); // Draw the other side of the arc // Move up to the next smaller layer turtle.penup(); turtle.forward(size * (1 - scaleFactor) / 2); turtle.right(90); turtle.forward(size * (1 - scaleFactor) / 2); turtle.left(90); turtle.pendown(); // Reduce the size for the next layer size *= scaleFactor; } } // Move the turtle to a starting position for better centering turtle.penup(); turtle.goto(0,0); turtle.pendown(); // Draw a stupa with parameters drawStupa(levels, baseSize, scaleFactor, curveFactor);