# pyunity.values.quaternion module¶

Class to represent a rotation in 3D space.

class `pyunity.values.quaternion.``Quaternion`(w, x, y, z)[source]

Bases: `object`

Class to represent a unit quaternion, also known as a versor.

Parameters: w (float) – Real value of Quaternion x (float) – x coordinate of Quaternion y (float) – y coordinate of Quaternion z (float) – z coordinate of Quaternion
`abs_diff`(other)[source]
`copy`()[source]

Deep copy of the Quaternion.

Returns: A deep copy Quaternion
`normalized`()[source]

A normalized Quaternion, for rotations. If the length is 0, then the identity quaternion is returned.

Returns: A unit quaternion Quaternion
`conjugate`

The conjugate of a unit quaternion

`RotateVector`(vector)[source]

Rotate a vector by the quaternion

static `FromAxis`(angle, a)[source]

Create a quaternion from an angle and an axis.

Parameters: angle (float) – Angle to rotate a (Vector3) – Axis to rotate about
static `Between`(v1, v2)[source]
static `FromDir`(v)[source]
`angleAxisPair`

Gets or sets the angle and axis pair. Tuple of form (angle, axis).

static `Euler`(vector)[source]

Create a quaternion using Euler rotations.

Parameters: vector (Vector3) – Euler rotations Generated quaternion Quaternion
`eulerAngles`

Gets or sets the Euler Angles of the quaternion

`SetBackward`(value)[source]
static `identity`()[source]

Identity quaternion representing no rotation

class `pyunity.values.quaternion.``QuaternionDiff`(w, x, y, z)[source]

Bases: `object`