ばねの先にオモリをつけて引っ張ると、ぱねの力でオモリは単振動することは 
よく知られているが、これをシミュレーションできないかな?と考えている。 
ホームページによくある、マウスカーソルについてくる変なものがあるが、    
あれはアプレットでも表現できる。どこかのフラッシュサイトで、まるでマウス 
カーソルにばねがついているのではないか?と思わせる様な動きをする
変なものがついてくるところがあった。ものすごく面白い動きで感動した。
    
ばねの力は、伸ばした長さに比例する。    
F=-kx F:力 k:定数 x:伸ばした長さ ニュートンの法則では    
F=ma m:質量 a:加速度    
シムレーションでは、変なものとマウスカーソルの距離でその時の加速度を 
出して、変なものを加速させれば良い。 普通、アニメーションを動かすとき、
座標xが次のフレームで5ピクセル動くと    
すれば、    

x=x+5 

という式を作る。1フレーム毎に5ずつ移動する。
ここでいう「5」はいわば 速度になる。
この場合は速度は変化しないが、ばねの力を表現しようとすれば、    
この「5」にあたる部分を距離によって変化する式に変えてあげれば良いはず。 
では、速度の前に加速度「a」を単純に求めると、  
ma=-kx ニュートンの法則とばねの式から     
↓  
a=-(k/m)x aをxで表した。では速度はどうなるか? 
これが問題だ。単振動の式は分かりきっている。  
x=Asin(Bt) A,B:定数 t:時間    
速度はこれを時間tで微分して、  
v=-ABcos(Bt) A,B:定数 v:速度 
これもコサインになってしまう。サインやコサインを座標「x」だけの式で表す事    
ができるのか?普通に考えたら出来なさそうだ。
しかし、短い時間間隔で 近似した場合、そのときは加速度が変化しない等加速度をしていると考えたら 
どうだろう?等加速度運動の速度は     
v=v0+adt v:速度 v0:初速度 a:加速度 dt:一瞬の時間 
ある一瞬の加速度をマウスカーソルと動くアニメの距離で表現するなら、
  a=-(k/m)(x-x1) x:マウスカーソルの位置 x1:アニメの位置
   v=v0-(k/m)(x-x1)dt となり速度を座標で表現できる。 
これをフレームが変わるたびに、逐次変化させれば、擬似的に単振動を 表現できるのではないか?
便宜上、(k/m)=1にしてしまう。
「dt」は時間だが、    
アニメーションの1フレーム時間になるので、適当な数字(たとえば0.1)などと 
いれる。初速度「v0」は前のコマの速度だから、「v」として、速度は
  v=v-(x-x1)*0.1     x1=x1+v アニメの位置 
これを逐次計算すると、なんとなく単振動っぽい動きをするような気がする。 
(2002/11/7 checker NEWSの記事より)