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
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
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
Returns:Generated quaternion
Return type: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