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:
quaternionQuaternion(s).vectorVector(s).
Returns:
Rotated vectors.
function Compose¶
Compose two quaternions.
Quaternion inertialsim::geometry::quaternion::Compose (
const Quaternion & q2,
const Quaternion & q1
)
Parameters:
Returns:
Composed quaternion q3 = q2*q1 (4, N).
function Conjugate¶
Conjugate of a quaternion.
Parameters:
quaternionQuaternion(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:
axisUnit vector(s) representing the axis of rotation.angleAngle(s) which are applied around the corresponding axis.passiveInterpret 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:
eulerEuler angles.sequenceEuler angle rotation sequence (e.g., "XYZ").
Returns:
Quaternion(s).
function FromMatrix¶
Quaternion representation from rotation matrix.
Parameters:
matrixVector 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:
quaternionQuaternion(s).scalar_lastIf 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:
- rotation_vector Rotation vector(s).
passiveInterpret the rotation as passive.
Returns:
Quaternion(s).
function Validate¶
Validates inputs meet quaternion conventions.
Quaternion inertialsim::geometry::quaternion::Validate (
const Quaternion & quaternion,
bool scalar_last=false
)
Parameters:
quaternionQuaternion(s) (4, N).scalar_lastIf 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