Skip to content
lsl.devlsl.devLSL Dev

llVecDist

function
Function syntax
float llVecDist(
  1. vector vec_a,// First vector.
  2. vector vec_b// Second vector.
);
Returns
float
Energy
10

Returns a float representing the undirected, non-negative distance between vectors vec_a and vec_b.

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

How to use
float result = llVecDist(ZERO_VECTOR, ZERO_VECTOR);
Example 1
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) );
}
}
Example 2
9 collapsed lines
//To reset script on touch if the object has been rotated since the last script reset
float gTolerance = 0.05; //This corresponds to about a 3 degree rotation
default
{
state_entry()
{
llSetObjectDesc((string)llRot2Euler(llGetRot()));
}
touch_start(integer total_number)
{
if (llVecDist(llRot2Euler(llGetRot()), (vector)llGetObjectDesc()) > gTolerance)
{
llSay(0,"This object has rotated. Automatic reset engaged.");
llResetScript();
}
}
}

https://www.youtube.com/watch?v=D0WvH58IWEo

  • 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;
Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.

From the Second Life Wiki

Community documentation adapted from LlVecDist, by Linden Research, Inc. and contributing residents.View contributors and history.

Imported wiki revision:

Licensed under CC BY-SA 3.0. Last wiki edit: .Formatting and links have been adapted for this site; API metadata follows the LSL definitions.