function surface(x, y) {
const r = -0.075 * Math.sqrt(x * x + y * y);
const z = -100 * Math.sin(r) / r;
}
Log in to post a comment.
// You can find the Turtle API reference here: https://turtletoy.net/syntax
Canvas.setpenopacity(0.33);
// Global code will be evaluated once.
const turtle = new Turtle();
turtle.penup();
// f(x,y) equation
function surface(x, y) {
const r = -0.075 * Math.sqrt(x * x + y * y);
const z = -100 * Math.sin(r) / r;
return z * cv - y * sv;
}
const av = 0.2;
const sv = Math.sin(av);
const cv = Math.cos(av);
const ph = Array.from({ length: 4000 }, () => 1000);
// The walk function will be called until it returns false.
function walk(i) {
const y = i - 200;
for (let x = -200; x <= 200; x += 0.1) {
const z = surface(x, y);
let py, px = x * 0.5;
if (z <= ph[Math.round(x * 10 + 2000)]) {
py = z;
ph[Math.round(x * 10 + 2000)] = z;
} else {
py = ph[Math.round(x * 10 + 2000)];
}
turtle.goto(px, py + 15);
turtle.down();
}
turtle.up();
return i < 400;
}