---
title: "AxisAngle"
description: "API documentation for AxisAngle"
url: https://developer.disguise.one/python-api/docs/axisangle/
---

# AxisAngle

represents a rotation in 3D space using a unit axis and angle (Euler axis/angle)  
Please be aware that the axis is arbitrary when the angle is ~zero.

NOTE: All angles in AxisAngle are in \[radians\], not degrees!  
NOTE: For conversions a left-handed coordinate system with y-axis pointing up is assumed by default!  
Note: Template instantiated for <Vec,float> and <VecD,double>.

See also: [Utility Guide](/plugins/guides/utility)

Base class: _\_BlipValue_

## Properties

#### **angle** : _Type2_

#### **axis** : _Type1_

#### **leftHanded** : _bool_ _(Read-Only)_

## Constructors

#### **\_\_init\_\_**(self)

#### **\_\_init\_\_**(self, axis: _Type1_, angle: _Type2_)

#### **\_\_init\_\_**(self, R: _[Mat](/python-api/docs/mat#mat)_, bLeftHanded: _bool_)

#### **\_\_init\_\_**(self, axis: _Type1_, angle: _Type2_, bLeftHanded: _bool_)

## Methods

#### **calcEuler**(self) -> _Type1_

calculate Euler angles (scaled 0-1) using Rodrigues’ rotation formula

#### **calcRotationMatrix**(self) -> _[Mat](/python-api/docs/mat#mat)_

calculate rotation matrix for this Euler axis/angle using Rodrigues’ rotation formula

#### **rotate**(self, wpoint: _Type1_) -> _Type1_

rotate a world point around this axis/angle using Rodrigues’ rotation formula

## Special Methods

#### **\_\_eq\_\_**(self, rhs: _[AxisAngle](/python-api/docs/axisangle#axisangle)\[Type1, Type2\]_) -> _bool_

#### **\_\_ne\_\_**(self, rhs: _[AxisAngle](/python-api/docs/axisangle#axisangle)\[Type1, Type2\]_) -> _bool_
