« I.S Chronotopic Anamorphosis | トップページ | I.S Scratch Cassette »

2010.04.05

max msp jitterでjavaを使う。 No.2

先日javaで作った二点間の距離を測るコードに新たな機能を追加してみました。
二点間で距離を求める他に、距離と質量を元に万有引力を導き指しました。点のオブジェクトはいくつでも増やせるようにもうちょっと改良しなきゃ、、、sleepy


public class TestMainClass {
public static void main(String[] args) {

/****************************
* 点のプロパティ配列
****************************/
//座標二次元配列XYZ
float cord[][] = {
{ 0.2f, 0.2f, 0.2f }, //点Aの座標
{ 0.3f, 0.3f, 0.3f }, //点Bの座標
{ 0.4f, 0.4f, 0.4f }, //点Cの座標
{ 0.5f, 0.5f, 0.5f }, //点Dの座標
};

//質量の配列mol
float mol[] =
{ 0.2f, 0.3f, 0.4f, 0.5f };
/****************************
* 点のプロパティ配列終わり
****************************/

//Trigon_f型のインスタンスオブジェクトを生成して
for(int i = 0; i < cord.length - 1; i++){
for(int j = i + 1; j < cord.length; j++){
Trigon_f ballA = new Trigon_f(cord[i][0], cord[i][1], cord[i][2], mol[i]);
Trigon_f ballB = new Trigon_f(cord[j][0], cord[j][1], cord[j][2], mol[j]);
System.out.println(cord[i][0] + " " + cord[i][1] + " " + cord[i][2] + " " + mol[i]);
System.out.println(cord[j][0] + " " + cord[j][1] + " " + cord[j][2] + " " + mol[j]);
Trigon_f.ABDist(ballA, ballB);

}
}
}
}



class Trigon_f {
//X,Y,Zのインスタンスフィールドを宣言
public float x;
public float y;
public float z;
public float mol;

//コンストラクター
public Trigon_f(float x, float y, float z, float mol){
//パラメーターによるインスタンスフィールドの初期化処理
this.x = x;
this.y = y;
this.z = z;
this.mol = mol;
}

static void ABDist(Trigon_f a, Trigon_f b){
//計算結果を一時的に保存する変数を宣言
float distance = 0;
float x_ans;
float y_ans;
float z_ans;

//xyzそれぞれの減算を求める
x_ans = a.x - b.x;
y_ans = a.y - b.y;
z_ans = a.z - b.z;

//減算の解をそれぞれ二乗していく
x_ans = (float)Math.pow(x_ans, 2);
y_ans = (float)Math.pow(y_ans, 2);
z_ans = (float)Math.pow(z_ans, 2);

//最後にそれぞれを足した値、即ち距離を戻り値として返す
distance = x_ans + y_ans + z_ans;
UniGra(a.mol,b.mol,distance,66.74f);
}

//万有引力を得る演算
static void UniGra(float molA, float molB, float dist, float g){
//戻り値用の変数を宣言
float gravity;
//全ての演算
gravity = (molA * molB) / dist * g;
//戻り値を指定
System.out.println(gravity);
}
}




Mootopia Lace Light Brown[メレル] Mootopia Lace Light Brown J20556
価格 : ¥7,245(税込み)
つま先のゆるやかなラウンドとカラーリングが人気の
定番モデル!!
送料&30日間返品 無料!!

|

« I.S Chronotopic Anamorphosis | トップページ | I.S Scratch Cassette »

max msp jitter」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/198455/48001315

この記事へのトラックバック一覧です: max msp jitterでjavaを使う。 No.2:

« I.S Chronotopic Anamorphosis | トップページ | I.S Scratch Cassette »