拙い文章で上手く先生に伝わるかわかりませんが・・・
私の解釈なんですが、今回のソースコードはsetTimeout()メソッドを使って10ミリ秒毎にdraw関数を呼び出す再帰関数という認識です。
そしてdraw関数が呼び出される毎にMath.sin()の引数である【t】が1ずつプラスされ、ラジアンが変わる事によりMath.sin()の返り値が-1から1の範囲で変動し、その数値が楕円の中心座標に10ミリ秒毎に
加算される為、clearRect()で描画をリセットしなくても目が左右に動くアニメーションが実現されように思えるのです(実際はスクリプトを実行させた時にしか動作しませんが・・・)
やはり何か根本的に考え方が間違っているのでしょうか、ご指南いただけると幸いです。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?