Simクラスの説明

概要

このクラスはオイラー法を使った座標の計算を行うクラスである。
宣言している変数

px,py
X座標、Y座標を表す。ただし、計算に使うのが目的なのでdouble型になっている。

v
速度。特に初期化の1.0という数値に意味はない。

myu
摩擦係数μ。本来なら動摩擦係数と静止摩擦係数を考える必要があるだろうが、動くかどうかの判定にしか使わないので動摩擦係数で両方行う事にした。

alpha
坂の角度α。myCanvasの方にも書いたが、当初は角度を変更する機能もつけようと思っていたので、変更しやすいように作ってある。
今のプログラムにはほとんど意味はない。
・コンストラクタ

このクラスが作られると最初に実行される部分。
initメソッドで初期設定を行うようになっている。
・initメソッド

X座標・Y座標・速度をそれぞれ初期化する。
これに与える数値を変更すれば、初速度がある状態で滑り落ちるというシミュレーションもできるはずである。
・setMyuメソッド

ボタン2を押したときにテキストフィールドから数値を取ってきて、それを引数をして得る事でμの値を更新する。
μの値は0〜1.0となるように、限界を超えると0.0または1.0になるようにしてある。
摩擦係数が1を超える事は無いと思っていたが、組み合わせによっては存在するようである。
参考資料:六自由度
・dx_dtメソッド

微小時間におけるX座標の変化量を計算するメソッド。
vの変化後の値を計算し、それにcos30°をかけることで計算している。
・dy_dtメソッド

微小時間におけるY座標の変化量を計算するメソッド。
vの変化後の値を計算し、それにsin30°をかけることで計算している。
・dv_dtメソッド

微小時間における速度の変化量を計算するメソッド。
速度が負になる場合は坂を登っていってしまうので、速度は0になるようになっている。
・one_stepメソッド

オイラー法を使って微小時間後のX座標・Y座標・速度を計算するメソッド。
戻る   感想へ