地図/画像/画像処理

フィードバック — 前のフレームを変形して重ねる

前のフレームの絵を、少し変形して、少し暗くして、今のフレームに重ねる。それを繰り返すと、絵が自分の残像を引きずって、トンネルや渦のような尾を引く。

フィードバック。前フレームの出力をそのまま次フレームの入力に戻す処理。drawImage(canvas, ...) で自分自身を変形しながら描き戻すと、座標変換が毎フレーム合成されて指数的に効く。回転と縮小を一定量ずつ繰り返すのは、同じ縮小相似変換を反復で積む反復関数系(IFS)と同じ仕掛けで、その不動点(中心)に向かって渦が巻く。減衰を入れないと残像が消えず画面が飽和する。ビデオカメラをモニタに向けると現れる映像フィードバックの数式版。

画面を毎フレーム完全には消さず、わずかに拡大・回転させて自分自身を描き戻す。drawImage でキャンバスをキャンバスに描く。減衰のために薄い紙色を上から被せて、古い残像が少しずつ沈む。中心に新しい点を足すと、その点が過去のフレームに引き伸ばされて螺旋になる。

rotatescale の量がトンネルの巻き具合を決める。globalAlpha と被せる紙色の濃さが、残像の寿命を決める。scale1.02 から 0.99 にすると、外へ広がる代わりに中心へ吸い込まれる。回る点が描いた跡が、変形のたびに少しずつずれて螺旋に伸びる。drawImage で自分を描く一行が、フィードバックの全部になる。