Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
vulcan::detail Namespace Reference

Functions

template<typename Scalar>
Vec3< Scalar > euler_from_dcm_zyx (const Mat3< Scalar > &R)
template<typename Scalar>
Vec3< Scalar > euler_from_dcm_xyz (const Mat3< Scalar > &R)
template<typename Scalar>
Vec3< Scalar > euler_from_dcm_xzy (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for XZY sequence.
template<typename Scalar>
Vec3< Scalar > euler_from_dcm_yxz (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for YXZ sequence.
template<typename Scalar>
Vec3< Scalar > euler_from_dcm_yzx (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for YZX sequence.
template<typename Scalar>
Vec3< Scalar > euler_from_dcm_zxy (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for ZXY sequence.
template<typename Scalar>
Vec3< Scalar > euler_from_dcm_zxz (const Mat3< Scalar > &R)
template<typename Scalar>
Vec3< Scalar > euler_from_dcm_zyz (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for ZYZ sequence.
template<typename Scalar>
Vec3< Scalar > euler_from_dcm_xyx (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for XYX sequence.
template<typename Scalar>
Vec3< Scalar > euler_from_dcm_xzx (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for XZX sequence.
template<typename Scalar>
Vec3< Scalar > euler_from_dcm_yxy (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for YXY sequence.
template<typename Scalar>
Vec3< Scalar > euler_from_dcm_yzy (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for YZY sequence.

Function Documentation

◆ euler_from_dcm_xyx()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_xyx ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for XYX sequence.

◆ euler_from_dcm_xyz()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_xyz ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for XYZ sequence

R = Rx(e1) * Ry(e2) * Rz(e3) DCM elements: R[0,2] = sin(e2) R[0,0] = cos(e2)*cos(e3), R[0,1] = -cos(e2)*sin(e3) R[1,2] = -cos(e2)*sin(e1), R[2,2] = cos(e2)*cos(e1)

◆ euler_from_dcm_xzx()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_xzx ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for XZX sequence.

◆ euler_from_dcm_xzy()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_xzy ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for XZY sequence.

◆ euler_from_dcm_yxy()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_yxy ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for YXY sequence.

◆ euler_from_dcm_yxz()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_yxz ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for YXZ sequence.

◆ euler_from_dcm_yzx()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_yzx ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for YZX sequence.

◆ euler_from_dcm_yzy()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_yzy ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for YZY sequence.

◆ euler_from_dcm_zxy()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_zxy ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for ZXY sequence.

◆ euler_from_dcm_zxz()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_zxz ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for ZXZ sequence (classical mechanics)

R = Rz(e1) * Rx(e2) * Rz(e3) Singularity at e2 = 0 or π (sin(e2) = 0)

◆ euler_from_dcm_zyx()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_zyx ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for ZYX sequence (aerospace standard)

R = Rz(e1) * Ry(e2) * Rx(e3) – intrinsic ZYX DCM elements: R[2,0] = -sin(e2) R[0,0] = cos(e1)*cos(e2), R[1,0] = sin(e1)*cos(e2) R[2,1] = cos(e2)*sin(e3), R[2,2] = cos(e2)*cos(e3)

◆ euler_from_dcm_zyz()

template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_zyz ( const Mat3< Scalar > & R)

Extract Euler angles from DCM for ZYZ sequence.