# Description

Returns the arc cosine (aka inverse cosine) of an input

Arc cosine is the inverse function for cosine. That is, given a value for val in the domain [-1.0, 1.0], it returns an angle acos(val) in degrees.

To illustrate, picture the unit circle (a circle of radius 1.0 centered about the origin). If you imagine a unit vector rotating inside of the unit circle, the x-coordinate of the endpoint of the vector is the acos function argument val. The angle that the vector makes with the positive x-axis is the function output acos(val).

Because, as the vector rotates inside the circle, the x-coordinate of the vector must always be within the unit circle, the input argument to acos (aka val) must always be within [-1.0, 1.0]. Also, as cos(t) is doubly valued for t in [0, 360], the acos function is restricted to the first two quadrants. This means that the unit vector rotating inside the unit circle is assumed to have a positive or 0 y-coordinate, therefore acos(val) always returns a value in [0.0, 180.0].

Math

# Command syntax

## Syntax

 `acos value`

### Arguments

`value`floatyesThe domain of arc cosine is [-1.0, 1.0]. Values of val outside of this domain are not meaningful to the function acos.

None

## Return value

float

For an input argument val in [-1.0, 1.0], returns a floating point angle (degrees) in the range [0.0, 180.0].

For input arguments val in the ranges: (1.0, Inf], [-Inf, -1.0) and NaN, acos(val) returns NaN.

## Examples

```float \$t;float \$acos_of_t; float \$cos_of_acos_of_t;
// acos(0) is 90 degrees because cos(90 degrees) = 0\$t                = 0.0;\$acos_of_t        = acos(\$t);\$cos_of_acos_of_t = cos(\$acos_of_t);print("t, acos(t), cos(acos(t)) = " + string(\$t) + ", " + string(\$acos_of_t) + ", " + string(\$cos_of_acos_of_t));// 1.1 is not a meaningful input into acos and returns NaN // (-1.#IND00)\$t                = 1.1;\$acos_of_t        = acos(\$t);\$cos_of_acos_of_t = cos(\$acos_of_t);print("t, acos(t), cos(acos(t)) = " + string(\$t) + ", " + string(\$acos_of_t) + ", " + string(\$cos_of_acos_of_t));```