Difference between revisions of "LlVecDist"

 LSL Portal

Contents

Function: float llVecDist( vector vec_a, vector vec_b );
 14 Function ID 0 Forced Delay 10 Energy

Returns a float that is the undirected nonnegative distance between vec_a and vec_b.

 • vector vec_a – Any valid vector • vector vec_b – Any valid vector

Examples

<lsl> default {

```   state_entry()
{
vector input_1 = <1.0,2.0,3.0>;
vector input_2 = <3.0,2.0,1.0>;
llOwnerSay("The distance between " + (string) input_1 +
" and " + (string) input_2 + " is: "+(string)llVecDist(input_1, input_2) );
}
```

} </lsl>

Notes

• Mathematically equivalent to:
• llVecMag( vec_a - vec_b )
• llSqrt( (vec_b.x - vec_a.x) * (vec_b.x - vec_a.x) + (vec_b.y - vec_a.y) * (vec_b.y - vec_a.y) + (vec_b.z - vec_a.z) * (vec_b.z - vec_a.z) )
• Knowing this, there are ways to circumvent llVecDist for more efficient code.
• For example, vector v3 = (v1-v2); v3*v3 < (f*f); is over twice as fast as llVecDist(v1,v2) < f;

```function float llVecDist( vector vec_a, vector vec_b );