Skip to content
lsl.devlsl.devLSL Dev

llAcos

function
Function syntax
float llAcos(
  1. float val// A number in the range [-1.0, 1.0].
);
Returns
float
Energy
10

The returned value is in the range [0.0, PI], or NaN signifying a complex result when the parameter is out of range.

Returns a float that is the arccosine in radians of val

How to use
float result = llAcos(0.0);
  • Triggers a Math Error for complex results if not compiled in Mono.
Example 1
// This example exercises the full valid range of argument from -1.0 to +1.0
default
{
touch_start(integer num_detected)
{
float random = llFrand(2.0) - 1.0;
llOwnerSay("The arccosine of " + (string)random + " is " + (string)llAcos(random));
}
}
Example 2
// An example for the Law of Cosines to calculate any angle of a triangle from 3 known side lengths.
default
{
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);
}
}
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 LlAcos, by Linden Research, Inc. and contributing residents.View contributors and history.

Imported wiki revision:

  • LlAcos (revision 1218950, )

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.