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)) }
ということになる。