A02 カージオイド
定円上を動円が外接しながら動く場合の動円上の点の軌跡が外サイクロイドです。定円と動円の半径比が1:1のとき,カージオイドといいます。
作成方法はA01 アステロイド と同様です。
スクリプトは次のようになります。アステロイドと異なるのはDrawスロットの中だけです。
r=ceil(|A,C|/|A,B|*8)+1;
drawtext(C-[0.2,0.6],"r="+r,size->16);
C0.radius=r;
th=F.angle;
E.xy=(r+1)*[cos(th),sin(th)];
draw(E.xy+[-cos((r+1)*th),-sin((r+1)*th)]);
plot((r+1)*[cos(t),sin(t)]+[-cos((r+1)*t),-sin((r+1)*t)],start->0,stop->th,steps->200);
最後の行の plot(・・ の最後にあ,新しいオプション steps->200 がついているのは,定円の半径が大きくなったときに曲線の解像度をあげるためのものです。
アニメーションにするときは,4行目を
F.xy=r*[cos(th),sin(th)];
に変えます。
Shift+Enter でスクリプトを実行します。
画面上で動かせるものはこちらにあります。
また,この画面の下からダウンロードできます。