ClassesClassesClassesClasses | | | | Operators

quat_to_hom_mat3dT_quat_to_hom_mat3dQuatToHomMat3dquat_to_hom_mat3dQuatToHomMat3dQuatToHomMat3d (Operator)

Name

quat_to_hom_mat3dT_quat_to_hom_mat3dQuatToHomMat3dquat_to_hom_mat3dQuatToHomMat3dQuatToHomMat3d — Convert a quaternion into the corresponding rotation matrix.

Signature

quat_to_hom_mat3d( : : Quaternion : RotationMatrix)

Herror T_quat_to_hom_mat3d(const Htuple Quaternion, Htuple* RotationMatrix)

Herror quat_to_hom_mat3d(const HTuple& Quaternion, HTuple* RotationMatrix)

void QuatToHomMat3d(const HTuple& Quaternion, HTuple* RotationMatrix)

HHomMat3D HQuaternion::QuatToHomMat3d() const

void HOperatorSetX.QuatToHomMat3d(
[in] VARIANT Quaternion, [out] VARIANT* RotationMatrix)

IHHomMat3DX* HQuaternionX.QuatToHomMat3d()

static void HOperatorSet.QuatToHomMat3d(HTuple quaternion, out HTuple rotationMatrix)

HHomMat3D HQuaternion.QuatToHomMat3d()

Description

The operator quat_to_hom_mat3dquat_to_hom_mat3dQuatToHomMat3dquat_to_hom_mat3dQuatToHomMat3dQuatToHomMat3d converts a unit quaternion QuaternionQuaternionQuaternionQuaternionQuaternionquaternion into its corresponding rotation matrix RotationMatrixRotationMatrixRotationMatrixRotationMatrixRotationMatrixrotationMatrix.

The RotationMatrixRotationMatrixRotationMatrixRotationMatrixRotationMatrixrotationMatrix for a quaternion x = x_{0} + x_{1}*i + x_{2}*j + x_{3}*k is given by:

/ x_0^2+x_1^2-x_2^2-x_3^2  2*x_1*x_2-2*x_0*x_3      2*x_0*x_2+2*x_1*x_3     \
| 2*x_0*x_3+2*x_1*x_2      x_0^2-x_1^2+x_2^2-x_3^2  2*x_2*x_3-2*x_0*x_1     |
\ 2*x_1*x_3-2*x_0*x_2      2*x_0*x_1+2*x_2*x_3      x_0^2-x_1^2-x_2^2+x_3^2 /

Attention

RotationMatrixRotationMatrixRotationMatrixRotationMatrixRotationMatrixrotationMatrix will only be a valid rotation matrix if QuaternionQuaternionQuaternionQuaternionQuaternionquaternion is a unit quaternion!

Parallelization

Parameters

QuaternionQuaternionQuaternionQuaternionQuaternionquaternion (input_control)  quaternion HQuaternion, HTupleHTupleHTupleHQuaternionX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Rotation quaternion.

RotationMatrixRotationMatrixRotationMatrixRotationMatrixRotationMatrixrotationMatrix (output_control)  hom_mat3d HHomMat3D, HTupleHTupleHTupleHHomMat3DX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Rotation matrix.

Possible Predecessors

axis_angle_to_quataxis_angle_to_quatAxisAngleToQuataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat, quat_composequat_composeQuatComposequat_composeQuatComposeQuatCompose

Possible Successors

affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d

See also

axis_angle_to_quataxis_angle_to_quatAxisAngleToQuataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat, quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d, quat_to_posequat_to_poseQuatToPosequat_to_poseQuatToPoseQuatToPose, quat_normalizequat_normalizeQuatNormalizequat_normalizeQuatNormalizeQuatNormalize, quat_conjugatequat_conjugateQuatConjugatequat_conjugateQuatConjugateQuatConjugate, quat_interpolatequat_interpolateQuatInterpolatequat_interpolateQuatInterpolateQuatInterpolate

Module

Foundation


ClassesClassesClassesClasses | | | | Operators