オイラー法によるシミュレーションアプレットの例を示します。
以下は昨年の学生が作成したプログラムおよびホームページの例です。
シミュレーションはオイラー法でクラスSimが行っています。
シミュレーション結果の表示はCanvasクラスを継承したMyCanvasクラスが行っています。
グラフ表示はCanvasクラスを継承したGraphCanvasクラス等が行っています。
シミュレーションの各種パラメータはGUIを使って設定できるようにするとよいでしょう。
MyCanvasクラスやGraphCanvasクラスは参考にするとよいでしょう。
例1(スレッドを使用している)
(レポート部分(各クラスの説明など)はこの例のように書けばよいでしょう。クラスの階層は必ず明示しましょう。
例2(スレッドは使用していない)
以下は、教科書の例題52をアプレットに変更し、シミュレーションを行うクラスSimを作成し、バネにつながれた錘の単振動をシミュレーションする例を示しています。
1.もともとの例題52は以下のプログラムです。Rei52クラスはJFrameを継承しおり、プログラムはフレームとして実行されます。
例題52のプログラムを見る(教科書と同じですが、コメント付きです)
2.Rei52をアプレットに変更するには
1.コンストラクタの代わりにinitメソッド内で初期化を行います
2.windowClosingメソッドなどは必要ありません
3.mainメソッドも必要ありません
例題52をアプレットに変更したプログラムのソースを見る
青はRei52から変更したところ、赤はコメント
アプレットを見る
3.アプレットにしたRei52を基にオイラー法による単振動のシミュレーションに変更します
1.シミュレーションはSimクラスが行っています。
2.シミュレーションのためのオブジェクトは、コンストラクタの引数で初期化(位置、速度、バネ定数)しています
3.スレッドの繰り返し内で、繰り返し毎にシミュレーションオブジェクトsmのone_stepメソッドを呼び出します
4.描画はシミュレーションオブジェクトsmの変数xの値を使って、★のx方向の位置を決めています
シミュレーションアプレットのソースを見る
青はシミュレーションに関連するところ、赤はコメント
アプレットを見る