Skip to content
lsl.devlsl.devLSL Dev

llVecMag

function
Function syntax
float llVecMag(
  1. vector vec// Vector to evaluate.
);
Returns
float
Energy
10

Returns a float that is the magnitude of the vector (the undirected non-negative distance from vec to <0.0, 0.0, 0.0>).

How to use
float result = llVecMag(ZERO_VECTOR);
Example 1
default {
state_entry()
{
vector input = <1.0,2.0,3.0>;
llSay(0,"The magnitude of "+(string)input+" is "+(string)llVecMag(input) + ".");
}
}
  • Mathematically the formula for vector magnitude is
  • llSqrt(vec.x * vec.x + vec.y * vec.y + vec.z * vec.z)
  • Knowing this, there are ways to circumvent llVecMag for more efficient code.
  • vec*vec < 16.0 is over twice as fast as llVecMag(vec) < 4.0.
  • vec*vec < (dist*dist) is about twice as fast as llVecMag(vec) < dist.
  • This can work in many other ways, too, with other comparisons.
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 LlVecMag, 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.