| 目次 | 1ページ | 2ページ | 3ページ | 4ページ | 5ページ |

ボールプログラムのバリエーション 1999/02/28(初版)


 衝突プログラムの幾つかのバリエーションを考えます。 
このモデルでは、ボールのエネルギーの和は保存されます。つまり、初期化の時 
にボール全体のエネルギーは決まっています。 
 衝突では、2つのボールの質量や相対的な速度によって、エネルギーを相手か 
らもらったり、与えたりしますが、2つのエネルギーの和は一定です。相手から 
エネルギーをもらったら、相手は同じ大きさのエネルギーを失います。 

 この様子を表現するプログラムを書きます。Ballクラスにボールのエネルギー 
を計算するコードを加えます。 

class Ball{ 

public: 
     // 前のと同じもの 
     // ......... 
   double getenergy() const { return m * v * v /2.0;}// エネルギーを計算 

private: 
    // 前のと同じもの 
    // ......... 

}; 

 そして、main() 関数でグラフィックス画面を2つに分けてボールのシミュレー
ションと同時に個々のボールのエネルギーの時間変化をプロットします。 


ソース・ファイルはこちらです。 BALL01.CPP (11KB) または、HTMLファイルで見る場合ははこちら  実行ファイルとソース・ファイルのダウンロードはこちらです。
ボールの衝突シミュレーション(2)
   実行ファイルとソース・ファイル
   Windows 95/ 98上で動作します。
  ダウンロード
  ball01_1.lzh (54KB)
 * このソフトウェアは、SYMANTEC. NORTON AntiVirus 5.0 でウィルス検査を 
  行っています。 
 * ファイルは吉崎栄泰氏による LHA (Copyright(c)1988-92 H.Yoshizaki)を 
  使って圧縮しています。 


目次 前のページへ 

Copyright(c) 1999 Yamada,K