Skip to content

Namespace inertialsim::geometry::quaternion

Namespace List > inertialsim > geometry > quaternion

Quaternion rotation representation conversions (internal API). More...

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.

Detailed Description

Internal API

This namespace is part of InertialSim's internal API. Most users should use the Rotation class and its factory methods rather than calling these functions directly.

See also: Rotation

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).
  • vector Vector(s).

Returns:

Rotated vectors.


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.
  • angle Angle(s) which are applied around the corresponding axis.
  • passive Interpret the rotation as passive.

Returns:

Quaternion(s).


function FromEuler

Quaternion representation from Euler angles.

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

Parameters:

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

Returns:

Quaternion(s).


function FromMatrix

Quaternion representation from rotation matrix.

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

Parameters:

  • matrix Vector of rotation matrices.

Returns:

Quaternion(s).


function FromQuaternion

Quaternion representation from quaternion.

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

Parameters:

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

Returns:

Validated quaternion(s).


function FromRotationVector

Quaternion representation from rotation vector.

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

Parameters:

Returns:

Quaternion(s).


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