亀に好きな曲線を描かせる

微分して亀に好きな曲線を描かせよう。
1. 曲線をパラメーター t で表示する
2. x,y を t で微分する
3. 下の例を参考にプログラムを書く

放物線

function onLoad(){
  logo.init();
  move(100);
  turn(90);
  move(-100);
  penDown();
  graph(0, 1, 1/128, 200);
  penUp();
}
function graph(start, end, dt, scale) {
  var rot = 0;
  for(var t = start; t < end; t = t + dt) {
    var dy = 2*t;
    var dx = 1;
    var th = Math.atan2(dy,dx)/Math.PI*180;
    var ln = Math.sqrt(dy*dy+dx*dx)*dt*scale;
    turn(th - rot);
    rot = th;
    move(ln);
  }
}

正弦曲線

function onLoad(){
  logo.init();
  turn(90);
  move(-200);
  penDown();
  graph(0, 6.283, 1/128, 400/6.283);
  penUp();
}
function graph(start, end, dt, scale) {
  var rot = 0;
  for(var t = start; t < end; t = t + dt) {
    var dy = Math.cos(t);
    var dx = 1;
    var th = Math.atan2(dy,dx)/Math.PI*180;
    var ln = Math.sqrt(dy*dy+dx*dx)*dt*scale;
    turn(th - rot);
    rot = th;
    move(ln);
  }
}

サイクロイド

正弦曲線のサンプルの一部を

    var dy = Math.sin(t);
    var dx = 1 - Math.cos(t);

と書き換える