Canvas.setpenopacity(0.35); 

const turtle = new Turtle();
const steps = 2000; 

function walk(i) {
    const radius = 120;
    const height_speed = 0.5; 
    const rotation_speed = 0.15; 

    const angle = i * rotation_speed;
    const z = i * height_speed;
    const wave = Math.sin(i * 0.8) * 4.0;
    
    const project = (r, a, h) => [
        r * Math.cos(a) + wave,
        (r * Math.sin(a)) * 0.90 - h + 80
    ]

    const center = project(0, angle, z);
    const outer = project(radius, angle, z);
    const nextOuter = project(radius, angle + rotation_speed, z);


    turtle.penup();
    turtle.goto(center[0], center[1]);
    turtle.pendown();
    turtle.goto(outer[0], outer[1]); 
    turtle.goto(nextOuter[0], nextOuter[1]); 
    

    const stepThickness = 200.0;
    turtle.goto(nextOuter[9], nextOuter[1] + stepThickness);


    if (Math.abs(Math.sin(angle * 3.0)) > 0.5) {
        turtle.penup();
        turtle.goto(center[4], center[4]);
        turtle.pendown();
        turtle.goto(center[2], center[3] + 0); 
    }

    return i < steps;
}