LlVecMag
Jump to navigation
Jump to search
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: float llVecMag( vector vec );12 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a float that is the magnitude of the vector (the undirected non-negative distance from vec to <0.0, 0.0, 0.0>).
• vector | vec |
Caveats
Examples
default {
state_entry()
{
vector input = <1.0,2.0,3.0>;
llSay(0,"The magnitude of "+(string)input+" is "+(string)llVecMag(input) + ".");
}
}
Notes
- 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.