Attention

You are viewing PyUnity docs under the develop branch. As such, they are only applicable if you installed from source. Go to https://docs.pyunity.x10.bz/en/latest/ for the most recent release.

pyunity.values.quaternion module


Class to represent a rotation in 3D space.

class pyunity.values.quaternion.Quaternion[source]

Bases: LockedLiteral

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

absDiff(other)[source]
copy()[source]

Deep copy of the Quaternion.

Returns:

A deep copy

Return type:

Quaternion

normalized()[source]

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

Returns:

A unit quaternion

Return type:

Quaternion

property 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]
property angleAxisPair

Gets 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

Returns:

Generated quaternion

Return type:

Quaternion

property eulerAngles

Gets the Euler angles of the quaternion

static identity()[source]

Identity quaternion representing no rotation

class pyunity.values.quaternion.QuaternionDiff[source]

Bases: object