LlAtan2
From Second Life Wiki
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Tutorials |
Contents |
Summary
Function: float llAtan2( float y, float x );| 3 | Function ID |
| 0.0 | Delay |
| 10.0 | Energy |
Returns a float that is the arctangent2 of y, x.
| • float | y | |||
| • float | x |
Similar to the arctangent(y/x) except it utilizes the signs of x & y to determine the quadrant. Returns zero if x and y are zero.
The returned value is in the range [-PI, PI]
Examples
default { state_entry() { float num1 = llFrand(100.0); float num2 = llFrand(100.0); llOwnerSay("y = " + (string)num1); llOwnerSay("x = " + (string)num2); llOwnerSay("The arctangent of y divided by x is " + (string)llAtan2(num1, num2)); } }
//Function with input of a vector determining the position of a target and returning //a string with the literal compass-direction of that target towards your position //by Ramana Sweetwater 2009/01, any use allowed license :-) string compass (vector target) { vector me = llGetPos(); float distance = llVecDist(me, target); list DIRS =["W","NW","N","NE","E","SE","S","SW","W"]; return llList2String(DIRS,llCeil(4.5-((4*llAtan2((target.y-me.y)/distance,(target.x-me.x)/distance))/PI))); }
See Also
Functions
| • llSin | llAsin | – | sine & inverse Sine | |
| • llCos | llAcos | – | cosine & inverse cosine | |
| • llTan | – | tangent |
Articles
| • | Wikipedia:Atan2 | |||
| • | Wikipedia:Inverse_trigonometric_function |
This article wasn't helpful for you? Maybe the related article at the LSL Wiki is able to bring enlightenment.

