# LlAxisAngle2Rot

 LSL Portal
Function: rotation llAxisAngle2Rot( vector axis, float angle );
 169 Function ID 0 Forced Delay 10 Energy

Returns a rotation that is a generated angle about axis

 • vector axis • float angle – expressed in radians.

axis need not be normalized, only the direction is important.

angle need to be between the value 0<angle<PI (higher values than PI lead to 2*PI-angle) , because a rotation is not really a rotation (it is more of a rigid motion/mirroring) ,the final destination is the rotation. (in other words: it doesn't matter wether you rotate left by 90 degrees or right by 270 degrees it will return the same rotation)

## Examples

```default
{
state_entry()
{
vector axis = <0.0, 0.0, 1.0>;
float angle = 90.0 * DEG_TO_RAD;
rotation rot = llAxisAngle2Rot(axis, angle);
vector euler = llRot2Euler(rot) * RAD_TO_DEG;

llOwnerSay((string) euler);
//Says <0.0, 0.0, 90.0> since it is rotating 90 degrees on the Z axis caused by the 1.0 placed in the Z vector spot.
}
}
```

### Functions

 • llRot2Angle • llRot2Axis

## Deep Notes

```rotation llAxisAngle2Rot( vector axis, float angle )
{
axis = llVecNorm( axis ) * llSin( angle/2 );
return <axis.x, axis.y, axis.z, llCos( angle/2 )>;
}
```

#### Signature

```function rotation llAxisAngle2Rot( vector axis, float angle );
```