反応拡散系(1)
それはいつの日のことでしたろうか。wonderfl にひとつのコードが投稿されたのは。
反応拡散系をBitmapで – wonderfl build flash online
↑は反応拡散系というカオスにも関係のある数理モデルを使ったものとのことでした。
計算結果が示すビジュアルの美しさにすっかり魅了された私は、そのコードをじっくり拝見しました。
そして BitmapData に対して BlurFilter や ColorTransform、BlendMode、threshold などを駆使した色操作によって、この美しいビジュアルが実現されていることを知りました。
しかし、このコードからは反応拡散系の原理がよく分かりません。
原理も分からずにコードだけパクっても意味ないので、ネットや書籍で反応拡散系を調べてみたわけですが、このハードルがまた高ぇ高ぇ。偏微分方程式って何よ一体?
いろいろ調べていたところ、反応拡散系の中でも Gray-Scott モデルによる反応拡散方程式というものについて、噛み砕いた資料をネット上で得ることができました。
加法混色と減法混色(2)
加法混色と減法混色の話の続き。
前回は、白ベタ塗りの BitmapData から作った3原色の表示オブジェクトのブレンドモードを単純に入れ替えるだけで、加法混色と減法混色が示されることを確認しました。
今回は、白ベタ塗りの BitmapData ではなくて、読み込んだ写真の BitmapData を使って、加法混色と減法混色を見てみます。
加法混色と減法混色(2) – wonderfl build flash online
加法混色と減法混色(1)
加法混色と減法混色 – wonderfl build flash online
さて、色について、です。
誤差拡散法(2)
前回は誤差拡散法の概観を見ました。
今回は誤差の拡散(差分値の振り分け)はどのようなアルゴリズムでおこなわれるのか、その種類を見てみます。
いきなり wonderfl 投稿コードから。それぞれのボタンをクリックすると、それぞれのアルゴリズムに基づいた結果を表示します。
Error Diffusion – wonderfl build flash online
併せて、英語版ウィキペディアの "Dither" のだいぶ下の方に各種の誤差拡散法で2値化した画像がずらっと並んでいることもお知らせします(ディザ法によるものが上段、中段と下段に誤差拡散法によるものが4種類ずつ計8種類示されています)。
誤差拡散法(1)
カラーイメージを2値化しながらも、自然な濃淡を感じさせる手法ハーフトーニング。
それを実現するための2つの方法のうちの2つ目、誤差拡散法について見てみます。
前々回見たディザ法のうちの「組織的ディザ法」というのは、名が体を表していないのではないか、ということを述べましたが、この誤差拡散法ってのもの、ちょっとどうかと思う名づけです。といっても英語の Error Diffusion を直訳したもんなんですけどね。
じゃあどう呼ぶのか? 「差分振り分け法」というのが適切なんじゃないかなぁと思います。
この方法はどのようなことをするのか。