« I.S Auto Smiley | トップページ | I.S »

2010.04.03

max msp jitterでjavaを使う。

max msp jitterは非常に優れたソフトだけれど、全てにおいて万能じゃない。
本当は出来るけど、ビジュアルプログラミングという特性上の面倒が出てくる部分もある。
そこで、解決策として、javaのクラスをmaxのオブジェクトにできるmxjオブジェクトというのがある。

(下の画像は、maxのアプリケーションフォルダ内にあるjavaのクラス群)

100402




このmxjを使えば面倒な事も簡単に処理ができる可能性がある。
ということで、javaを勉強しているのであります。

今日は一つ、サンプルプログラムを作りました。内容は以下。




《立体空間にある点、A、Bを結ぶ直線の距離を求める処理。》



Xyz_2




(Ay - By)2 + ((Ax - Bx)2 + (Az - Bz)2) = AB2

と、こんな風に求められると思います。これをmaxで作ると。


Max_xyz




javaで作ると、


Trigon_f.java


class Trigon_f {

static float ABDistance(float a_xyz[], float b_xyz[]){
//演算の解を一時的に保存しておく配列を宣言、初期化
float xyz[] = {0,0,0};
//距離を格納して戻り値として返す変数を宣言
float distance = 0;

//配列xyzにa,bのxyzを減算した解を代入していく
for(int i = 0; i < a_xyz.length; i++){
xyz[i] = a_xyz[i] - b_xyz[i];
}
//減算の解が格納された配列xyz要素をそれぞれ二乗していく
for(int i = 0; i < a_xyz.length; i++){
xyz[i] = (float) Math.pow(xyz[i], 2);
}
//最後にそれぞれを足した値、即ち距離を戻り値として返す
for(int i = 0; i < xyz.length; i++){
distance += xyz[i];
}
return distance;
}
}



TestClass.java


public class testclass {

public static void main(String[] args) {
//点A,B間の距離を出力するテスト。

//立体空間にある物体2点の座標を以下に格納する。
float ballA[] = {1.5f,0.35f,0.5f};
float ballB[] = {0.55f,1.6f,0.47f};

System.out.println();
System.out.println("AB間の距離は : " + Trigon_f.ABDistance(ballA, ballB));
}
}


《結果表示》

AB間の距離は : 2.4659 ※ “ √ ”しないとですね、;



一見するとjavaコードの方が大変そうだけど、複数の物体が出てきた時にjavaの方が楽になると思えます。うん。


デザインとヴィジュアル・コミュニケーションデザインとヴィジュアル・コミュニケーション
価格 : ¥3,780(税込み)
発売日: 2006/12
「芸術は技術ではない。技術は芸術ではない」

|

« I.S Auto Smiley | トップページ | I.S »

max msp jitter」カテゴリの記事

コメント

コメントを書く



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




トラックバック

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

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

« I.S Auto Smiley | トップページ | I.S »