From Second Life Wiki

Jump to: navigation, search



Function: float llAcos( float val );

Returns a float that is the arccosine in radians of val

• float val must fall in the range [-1.0, 1.0]

The returned value is in the range [0.0, PI][1]


//  This example exercises the full valid range of argument from -1.0 to +1.0
    touch_start(integer num_detected)
        float random = llFrand(2.0) - 1.0;
        llOwnerSay("The arccosine of " + (string)random + " is " + (string)llAcos(random));
//An example for the Law of Cosines to calculate any angle of a triangle from 3 known side lengths.
    touch_start(integer num_detected)
        vector t=< llFrand(9.0)+1.0 , llFrand(9.0)+1.0 , llFrand(9.0)+1.0 >; //the 3 values of this vector are used to set the lengths of 3 sides of a triangle.
        float anglexy=llAcos( (t.x*t.x+t.y*t.y-(t.z*t.z)) / ( 2*t.x*t.y) ) //Law Of Cosines
        llOwnerSay("Using the Law Of Cosines, the angle of a triangle between side a="+(string)t.x+"and side b="+(string)t.y+"is = "+(string)anglexy+" radians="+(string)(anglexy*RAD_TO_DEG)+"° and that angle is not on side c="+(string)t.z);

See Also


• llSin llAsin sine & inverse Sine
• llCos cosine
• llTan llAtan2 tangent & inverse tangent


•  Wikipedia:Inverse trigonometric function

Deep Notes

Search JIRA for related Issues


  1. ^ The ranges in this article are written in Interval Notation.
This article wasn't helpful for you? Maybe the related article at the LSL Wiki is able to bring enlightenment.
Personal tools