import java.awt.*;
import java.io.*;
import java.lang.*;
/**
* PhObject のサンプルアプレット
* ★マークのところを適当に入れ替えて利用
*/
public class Test0 extends java.applet.Applet {
/** シミュレーション用の物理空間 **/
MyField workField = new MyField();
//^^^^^^★ ^^^^^^★下で定義したクラスと同じ名前にする
public void init(){
setLayout(new BorderLayout());
add("Center",workField);
workField.set_sleepTime(★); // 描画の時間間隔を★/1000sに設定。
workField.init(★); // 初期設定(物体の個数は★個)
}
public void start(){
workField.start(); // アニメーション開始
}
}
/** PhFieldを継承したMyField Class **/
class MyField extends PhField{
// ^^^^^^^★上の名前とそろえる
/** 位置や速度の初期設定 **/
public void init(int k){
makeObject(k);
dt = ★; // 時間間隔を設定
obj[0].s.set( ★x座標, ★y座標); // 物体の初期位置設定
obj[0].v.set( ★大きさ, ★角度 / 180.0 * Math.PI); // 初速度設定
obj[0].set_m( ★質量); // 物体の質量設定
set_force(); // 力を計算
obj[0].a.set_acc( obj[0].get_f(), obj[0].get_m()); // 加速度を計算
obj[0].v.add_vel( obj[0].get_a(), - dt / 2); // 初速度をdt/2ずらす
// 物体の個数分だけ記述
}
/** 物体にはたらく力を計算 **/
public void set_force() {
obj[0].f.set( ★力の大きさ, ★力の向き);
// 物体の個数分だけ記述
}
}
|