# 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].

## Functional area

Math

# Command syntax

## Syntax

`acos value` |

### Arguments

Name | Type | Required | Comments |
---|---|---|---|

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

### Flags

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));