Shaded sine curve, with variable density.
Log in to post a comment.
const width = 200; // min=100, max=200, step=1
const height = 60; // min=10, max=100, step=1
const step = .75; // min=0.1, max=3, step=0.05
const maxLengthRatio = 0.9; // min=0.01, max=1, step=.01
const maxLength = maxLengthRatio * height;
Canvas.setpenopacity(1);
const turtle = new Turtle();
turtle.penup();
let x = -(width / 2);
turtle.left(90);
// The walk function will be called until it returns false.
function walk(i) {
turtle.penup();
turtle.goto(x, 0);
let length = height * Math.sin((width - x) / 10);
let absLength = Math.abs(length);
if (absLength > maxLength) {
if (length > 0) {
turtle.forward(length - maxLength);
turtle.pendown();
turtle.forward(maxLength);
} else {
turtle.forward(-(absLength - maxLength));
turtle.pendown();
turtle.forward(-maxLength);
}
} else {
turtle.pendown();
turtle.forward(length);
}
x += step;
return x < width / 2;
}