BlackSheep-LSL@Wiki llVecDist
※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

llVecDist

float llVecDist(vector v1, vector v2)

引数に指定した二つのvector値v1とv2の間の距離を返す。

以下引数と戻り値の例:
v1 v2 戻り値(距離)
<0,0,0> <1,0,0> 1
<0,0,0> <0,0,-10> 10
<10,0,10> <10,0,0> 10
<20,0,19> <20,0,0> 19

この関数の内部処理は2次元座標における2点間の距離の計算と同様である。
座標(x1,y1)と(x2,y2)の距離 = (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)の平方根
いわゆる三平方の定理。

三次元版は、
座標(x1,y1,z1)と(x2,y2,z2)の距離 = (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1)の平方根
従って、vector間の距離を別の方法で自力計算するなら、
float UserVecDist(vector v1, vector v2){
  return llSqrt(llPow(v2.x - v1.x, 2) + llPow(v2.y - v1.y, 2) + llPow(v2.z - v1.z, 2))
}
ということになる。

参考情報として、vectorの大きさを得るにはllVecMag関数、vectorの単位ベクトルを得るにはllVecNorm関数を使う。

名前:
コメント: