技術解説


自分でプログラミングしてみたい方へ

画像をグリットサイズに分割し、各画像の頂点を
真空中の二次元バネ格子振動を考えたときの
質点座標に置いているだけです。
たいして難しくないのでプログラミングの練習に
組んでみるのもいいかもしれません。

下にどなたかが書いてくださった振動の説明があります。
簡潔にまとまっていてたいへん素晴らしいです。
ちなみに運動方程式さえ書ければ微分方程式を解かずとも
プログラムで動かせます。というか質点が多いと解けません。

振動について

単振動(調和振動)

減衰の無い状態での振動は以下の運動方程式で表すことができます。

mx"+kx=0

m:質量,k:ばね定数
ω=√k/m として、  
さらに展開すると(中略)

x=Asin(ωt+α)

この式は、よく知られている振動の式で、
A:振幅, a:初相, ω:角振動数
固有周期 T=2π√m/k として知られています。

ここで、重要なことは、
固有周期は、m(質量)に比例し、k(ばね定数)に反比例するということです。

重い → 固有周期が長い
硬い → 固有周期が短い

減衰振動(moveモード)

減衰を考慮した状態での振動は以下の運動方程式で表すことができます。
※減衰は、速度に比例するモデルとします。

mx"+cx'+kx=0

m:質量,c:減衰定数,k:ばね定数
ω=√k/m,ρ=c/2mとして、

x"+2ρx'+(ω^2)x=0
  
さらに展開して(中略)
ω'=√(ω^2-ρ^2)と書くと、
ρ<ω (減衰が小さい場合)

x=Ae^(-ρt)sin(ω't+α)

単振動の振動が、Ae^(-ρt)で減衰する運動であると考えることができます。
※正確ではないですが、わかりやすく言うとそうなります 

強制振動(sinモード)

減衰を考慮した状態で振動を与えた場合は以下の運動方程式で表すことができます。
※減衰は、速度に比例するモデルとし、振動はsin波とします。

 mx"+cx'+kx=Fsin(ωt)

m:質量,c:減衰定数,k:ばね定数
ω=√k/m,ρ=c/2mとして、 

x"+2ρx'+(ω^2)x=fsin(ωt)

さらに展開すると(中略)...

結局のところ
過渡応答の後は、定常応答となるため減衰周期と非減衰周期は、ほぼ等しくなります。
※かなり強引な説明ですみません