<波動方程式>

Your browser does not support the canvas tag.


画面をクリックすると、水面のような波紋が発生します。
波紋は壁ではね返り、複雑な模様を形成します。

波紋の表現には波動方程式を使っています。2次元の場合は以下の微分方程式で表せます(Δはラプラス作用素)。

これはある位置x(またはy)の二階微分と、ある時刻tの二階微分が、任意の定数で繋がっている式です。
つまり、ある時刻tにおけるx-u, y-uグラフと、ある点の時間変化のグラフt-uが同じ形であることを意味します。

本来、波動方程式は時間的にも空間的にも連続ですが、計算の際は時刻と平面をを離散的な微小要素に分割します。
左辺の二階微分∂^2u/∂t^2は下のようにテイラー展開から近似します(2式を連立させて求める)。


同様の考え方で、右辺のΔuも近似します。プログラミングで使いやすいようまとめると、下のようになります。


ところで、二階微分の差分式∂^2u/∂t^2には、u(x,y,t-dt)という項があります。
するとt=0の時、負の時間の濃度を定義しなくてはいけないことになり、現実的ではありません。
そこで、始めは波を不動とする初期条件∂u(x,y,0)/∂t=0を導入すると、u(i,j,t+dt)=u(i,j,t-dt)が成り立ちます。
これを踏まえ、∂^2u/∂t^2, Δuを波動方程式に代入すると、以下の差分スキームが導出されます。


それから逐次、uの変化量を求め、各マスの次ステップのuを決定します(差分法)。
各マスのuの値に応じて色を変化させると、上のように視覚化することが出来ます。


HomeProcessingを用いた数値計算


inserted by FC2 system