Skip to content

Namespace inertialsim::geometry::quaternion

Namespace List > inertialsim > geometry > quaternion

Public Functions

Type Name
Vector3D Apply (const Quaternion & quaternion, const Vector3D & vector)
Apply quaternion rotation to a vector.
Quaternion Compose (const Quaternion & q2, const Quaternion & q1)
Compose two quaternions.
Quaternion Conjugate (const Quaternion & quaternion)
Conjugate of a quaternion.
Quaternion FromAxisAngle (const Vector3D & axis, const Scalar1D & angle, bool passive=false)
Quaternion representation from axis and angle of rotation.
Quaternion FromEuler (const EulerAngles & euler, const std::string & sequence)
Quaternion representation from Euler angles.
Quaternion FromMatrix (const RotationMatrixArray & matrix)
Quaternion representation from rotation matrix.
Quaternion FromQuaternion (const Quaternion & quaternion, bool scalar_last=false)
Quaternion representation from quaternion.
Quaternion FromRotationVector (const RotationVector & rotation_vector, bool passive=false)
Quaternion representation from rotation vector.
Quaternion Validate (const Quaternion & quaternion, bool scalar_last=false)
Validates inputs meet quaternion conventions.

Public Functions Documentation

function Apply

Apply quaternion rotation to a vector.

Vector3D inertialsim::geometry::quaternion::Apply (
    const Quaternion & quaternion,
    const Vector3D & vector
) 

Parameters:

  • quaternion Quaternion(s) (4, N).
  • vector Vector(s) (3, N).

Returns:

Rotated vector(s) (3, N).


function Compose

Compose two quaternions.

Quaternion inertialsim::geometry::quaternion::Compose (
    const Quaternion & q2,
    const Quaternion & q1
) 

Parameters:

  • q2 Quaternion #2 (4, N) or (4, 1).
  • q1 Quaternion #1 (4, N) or (4, 1).

Returns:

Composed quaternion q3 = q2*q1 (4, N).


function Conjugate

Conjugate of a quaternion.

Quaternion inertialsim::geometry::quaternion::Conjugate (
    const Quaternion & quaternion
) 

Parameters:

  • quaternion Quaternion(s) (4, N).

Returns:

Conjugated quaternion(s) (4, N).


function FromAxisAngle

Quaternion representation from axis and angle of rotation.

Quaternion inertialsim::geometry::quaternion::FromAxisAngle (
    const Vector3D & axis,
    const Scalar1D & angle,
    bool passive=false
) 

Parameters:

  • axis Unit vector(s) representing the axis of rotation (3, N).
  • angle Angle(s) which are applied around the corresponding axis (N).
  • passive Interpret the rotation as passive.

Returns:

Quaternion(s) (4, N).


function FromEuler

Quaternion representation from Euler angles.

Quaternion inertialsim::geometry::quaternion::FromEuler (
    const EulerAngles & euler,
    const std::string & sequence
) 

Parameters:

  • euler Euler angles (3, N).
  • sequence Euler angle rotation sequence (e.g., "XYZ").

Returns:

Quaternion(s) (4, N).


function FromMatrix

Quaternion representation from rotation matrix.

Quaternion inertialsim::geometry::quaternion::FromMatrix (
    const RotationMatrixArray & matrix
) 

Parameters:

  • matrix Vector of rotation matrices.

Returns:

Quaternion(s) (N, 4).


function FromQuaternion

Quaternion representation from quaternion.

Quaternion inertialsim::geometry::quaternion::FromQuaternion (
    const Quaternion & quaternion,
    bool scalar_last=false
) 

Parameters:

  • quaternion Quaternion(s) (4, N).
  • scalar_last If true, assume scalar is the last element.

Returns:

Validated quaternion(s) (4, N).


function FromRotationVector

Quaternion representation from rotation vector.

Quaternion inertialsim::geometry::quaternion::FromRotationVector (
    const RotationVector & rotation_vector,
    bool passive=false
) 

Parameters:

  • rotation_vector Rotation vector(s) (3, N).
  • passive Interpret the rotation as passive.

Returns:

Quaternion(s) (4, N).


function Validate

Validates inputs meet quaternion conventions.

Quaternion inertialsim::geometry::quaternion::Validate (
    const Quaternion & quaternion,
    bool scalar_last=false
) 

Parameters:

  • quaternion Quaternion(s) (4, N).
  • scalar_last If true, assume scalar is the last element.

Returns:

The validated quaternion(s) (4, N), with scalar first and positive.



The documentation for this class was generated from the following file cpp/include/inertialsim/geometry/rotation_conversions/quaternion.h