---
title: "asin"
canonical: "https://help.vicon.com/space/Shogun111/13207631/asin"
format: markdown
---
# Description

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

Arc sine is the inverse function for sine. That is, given a value for val in the domain [-1.0, 1.0], it will return an angle asin(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 y-coordinate of the endpoint of the vector is the asin function argument val. The angle that the vector makes with the positive x-axis is the function output asin(val). As the vector rotates inside the circle, the y-coordinate of the vector must always be within the unit circle, so the input argument to asin (aka val) must be within [-1.0, 1.0] to be meaningful.

Also, as sin(t) is doubly valued for t in [-180, 180], the asin function is restricted to quadrant IV and quadrant I. This means that the unit vector rotating inside the unit circle is assumed to have a positive or 0 x-coordinate, therefore asin(val) always returns a value in [-90, 90].

## Functional area

Math

# Command syntax

## Syntax

|  |
| --- |
| `asin value` |

### Arguments

> Macro (scroll-tablelayout)

| **Name** | **Type** | **Required** | **Comments** |
| --- | --- | --- | --- |
| `value` | float | yes | The domain of arc sine is [-1.0, 1.0]. Values of val outside of this domain are not meaningful to the function asin. |  |

### Flags

None 

> Macro (scroll-pagebreak)

## Return value

float

For an input argument val in [-1.0, 1.0], returns a floating point angle (degrees) in the range [-90.0, 90.0]. For input arguments t in the ranges: (1.0, Inf], [-Inf, -1.0) and NaN, asin(t) returns NaN.

## Examples

```plaintext
float $t;
float $asin_of_t; 
float $sin_of_asin_of_t;
// asin(1.0) is 90 degrees because sin(90 degrees) = 1.0
$t                = 1.0;
$asin_of_t        = asin($t);
$sin_of_asin_of_t = sin($asin_of_t);
print("t, asin(t), sin(asin(t)) = " + string($t) + ", " + string($asin_of_t) + ", " + string($sin_of_asin_of_t));
// 1.1 is not a meaningful input into asin and will return 
// NaN (-1.#IND00)$t = -1.1;
$asin_of_t        = asin($t);
$sin_of_asin_of_t = sin($asin_of_t);
print("t, asin(t), sin(asin(t)) = " + string($t) + ", " + string($asin_of_t) + ", " + string($sin_of_asin_of_t));
```

# Additional information

## Related commands

- [acos](https://vicon-help.atlassian.net/wiki/spaces/Shogun111/pages/13207599)
- [atan](https://vicon-help.atlassian.net/wiki/spaces/Shogun111/pages/13207635)
- [cos](https://vicon-help.atlassian.net/wiki/spaces/Shogun111/pages/13207704)
- [sin](https://vicon-help.atlassian.net/wiki/spaces/Shogun111/pages/13208550)
- [tan](https://vicon-help.atlassian.net/wiki/spaces/Shogun111/pages/13208616)