DisplacementMapFilter の計算を実感してみた
久しぶりに ActionScript の話題。
こないだ何の気なしにネットをウロウロしてたら [AS3]DisplacementMapFilterメモ というページに行き当たり、以下の文章を拝見しました。
(正) 位置(x, y)におけるフィルター処理後の画像のピクセル値に、位置(x+dx, y+dy)におけるフィルター処理前の画像のピクセル値を採用するフィルター
(誤) 位置(x, y)におけるフィルター処理前の画像のピクセルを(x+dx, y+dy)に移動させてその結果を処理後の画像として採用するフィルター
思いっきり勘違いしてました。今までまともに DisplacementMapFilter に向き合ったことはありませんでしたが、何となく DisplacementmapFilter の機能は(誤)の方なんだろうなぁ、と思っていました。
でもちょっと考えれば分かることですよねぇ。
だって
元画像の位置(x+dx, y+dy)にピクセル情報がないことにはフィルター処理不可能なことがわかる。つまり、元画像のサイズ以上に引き延ばしたりする変形を表現することはできない。
んですもんね。ボンクラ過ぎるぞオレ。恥ずかしい!
もうこれを期に試してみましたよ。実際には誤りであるアルゴリズムを適用するとイメージはどのような変化をするのか、を。
その結果が↓
DiaplacementMapFilter の計算を実感してみた – wonderfl build flash online
ステージクリックで DisplacementmapFilter の正しい挙動と勘違いしていた挙動が切り替わります。
でもパーティクル作品として考えると、誤ったロジックで Displacement した方がイケてるよね。
Comments
Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!