固有関数展開のアニメーション
固有関数展開のアニメーション
ここでは、各境界条件でのラプラス方程式から得られる固有関数展開を
画像に適応した例を載せていきたいと思います。
級数の項の数を増やし、高周波成分を含めていくと、
画像をより綺麗に近似できていくことが分かります。
ラプラス方程式の固有値問題の境界条件を[0,1]でf(x)=0とした時の
固有関数展開の級数の項を有限で打ち切った式がこれにあたります。
弦の振動を良く近似することが知られていますが、
これを[0,1]上定義される任意の一変数関数に適応してみました。
不連続部分があるとギブズ現象が起き、
級数の項数を増やしても綺麗に近似できないことが分かります。
Nは0〜55で変化させています。
アニメーションは、
色が青から赤になるほど級数の項数が増えることを表します。
ラプラス方程式の固有値問題の境界条件を[0,1]×[0,1]でf(x,y)=0とした時の
固有関数展開の高周波成分を切り取った式がこれにあたります。
太鼓の膜の振動を良く近似することが知られていますが、
これを画像に適応してみました。(下図左)
N,Mは0〜30で変化させています。
上式はsinをcosに変えたものです。
これはJPEG圧縮に対応しています。(上図右)
境界条件が円周上で0というラプラス方程式の固有関数展開の級数の項を
有限で打ち切った式がこれにあたります。
太鼓の膜の振動を良く近似することは知られていますが、
今回はこれを画像に適応しました。
下図左が新しく行ったベッセル関数を使った展開、
下図右が上と同様のCOSの積を使った展開になります。
- ベッセル関数による画像圧縮のアニメーション(上図左)では、
N,Kを0〜50まで動かしています。
- COSの積による画像圧縮のアニメーション(上図右)では、
N,Mを0〜71まで動かしています。
- ベッセル関数による画像圧縮の方が綺麗に圧縮できていることが分かります。
- 画像が近似されていく様子も固有関数によって独特であることが分かります。
ベッセル関数
のグラフは以下のようになります。
n=0からnを大きくしていくとグラフの色が青から赤へ変わります。
詳細は要旨(PDF)をご覧ください。
アニメーションGIFをC言語で作成するライブラリは
こちらをご覧ください。
C言語でグラフを描くライブラリ(CGIF)TOP
円上の画像圧縮TOP
戻る