オブジェクトの距離を計る 1


さてはて、
ベクトルの長さは、どうしたら出るのだろうか?

これは、幾何数学の知識が必要なのだが。
実は、中学生の時の知識だけで十分なのだよ。

十分だぞーーーー!ルキアーーーー!

あっはっはっはっは、

で、どうするか。
ピタゴラスの定理を使うのだ。
なんだか難しそうだが、全くこれがびっくりするほど楽なんだよ
じつはね。

まぁ、あたしなんかが解説したところでしょうがないので
ネットで探されたし。

軽く言うと

こういう事w

直角がある三角形の、3辺の比と直角以外の角度 には
一定の法則があるってことですな。
このことに気づいたピタゴラスに乾杯!

で、これをmaxでやってみると

/*
ベクトルの長さ
基本はピタゴラスの定理
*/
–AオブジェクトとBオブジェクトを入れておく
aObj = $A;
bObj = $B;

–差
xValue = aObj.pos.x – bObj.pos.x;
yValue = aObj.pos.y – bObj.pos.y;
zValue = aObj.pos.z – bObj.pos.z;

–距離を計算
–sqrtは平方根の意 ^は累乗(打ち込むときは、日本語キーボードなら [ヘ] のとこ)
lengthValue = sqrt( (xValue^2) + (yValue^2) +  (zValue^2) );

print (“計算結果は” + (lengthValue as String) + “でした”);

–実際の距離を測る機能・・・距離を測るだけならこっちだw
print (“距離は” + (distance aObj bObj as String) + “でした”);

ということですな。

実は、距離を測る機能はちゃんとある。
最後の、distanceがそれ。
distance オブジェクト1 オブジェクト2; とすると、距離を測ってくれる。

じゃぁ、なんでわざわざ手でやるのか。

この計算は、最後はベクトルの長さの計算や、
さらに応用すると、ベクトルの内積とかにも使えるようになる。
それは今度やってみよう。

やってみるぞーー、ルキアーーーーー。

■■ダウンロード■■
2つのオブジェクトの距離を測る


One thought on “オブジェクトの距離を計る

Comments are closed.