ClassesClassesClassesClasses | | | | Operators

dual_quat_composeT_dual_quat_composeDualQuatComposedual_quat_composeDualQuatComposeDualQuatCompose (Operator)

Name

dual_quat_composeT_dual_quat_composeDualQuatComposedual_quat_composeDualQuatComposeDualQuatCompose — Multiply two dual quaternions.

Signature

dual_quat_compose( : : DualQuaternionLeft, DualQuaternionRight : DualQuaternionComposed)

Herror T_dual_quat_compose(const Htuple DualQuaternionLeft, const Htuple DualQuaternionRight, Htuple* DualQuaternionComposed)

Herror dual_quat_compose(const HTuple& DualQuaternionLeft, const HTuple& DualQuaternionRight, HTuple* DualQuaternionComposed)

void DualQuatCompose(const HTuple& DualQuaternionLeft, const HTuple& DualQuaternionRight, HTuple* DualQuaternionComposed)

static HDualQuaternionArray HDualQuaternion::DualQuatCompose(const HDualQuaternionArray& DualQuaternionLeft, const HDualQuaternionArray& DualQuaternionRight)

HDualQuaternion HDualQuaternion::DualQuatCompose(const HDualQuaternion& DualQuaternionRight) const

void HOperatorSetX.DualQuatCompose(
[in] VARIANT DualQuaternionLeft, [in] VARIANT DualQuaternionRight, [out] VARIANT* DualQuaternionComposed)

IHDualQuaternionX* HDualQuaternionX.DualQuatCompose([in] IHDualQuaternionX* DualQuaternionRight)

static void HOperatorSet.DualQuatCompose(HTuple dualQuaternionLeft, HTuple dualQuaternionRight, out HTuple dualQuaternionComposed)

static HDualQuaternion[] HDualQuaternion.DualQuatCompose(HDualQuaternion[] dualQuaternionLeft, HDualQuaternion[] dualQuaternionRight)

HDualQuaternion HDualQuaternion.DualQuatCompose(HDualQuaternion dualQuaternionRight)

Description

The operator dual_quat_composedual_quat_composeDualQuatComposedual_quat_composeDualQuatComposeDualQuatCompose multiplies the two dual quaternions DualQuaternionLeftDualQuaternionLeftDualQuaternionLeftDualQuaternionLeftDualQuaternionLeftdualQuaternionLeft and DualQuaternionRightDualQuaternionRightDualQuaternionRightDualQuaternionRightDualQuaternionRightdualQuaternionRight and returns the product in DualQuaternionComposedDualQuaternionComposedDualQuaternionComposedDualQuaternionComposedDualQuaternionComposeddualQuaternionComposed.

For a brief introduction to dual quaternions, the used notation, and the relationship between dual quaternions and screws, see the documentation of this chapter (Transformations / Dual Quaternions).

The multiplication of the dual quaternions and is .

For the multiplication of quaternions see quat_composequat_composeQuatComposequat_composeQuatComposeQuatCompose.

Note that the multiplication of two dual quaternions is not commutative, i.e., .

If DualQuaternionLeftDualQuaternionLeftDualQuaternionLeftDualQuaternionLeftDualQuaternionLeftdualQuaternionLeft and DualQuaternionRightDualQuaternionRightDualQuaternionRightDualQuaternionRightDualQuaternionRightdualQuaternionRight are unit dual quaternions and, hence, represent 3D rigid transformations, their multiplication corresponds to the multiplication of their corresponding homogeneous transformation matrices. Consequently, dual_quat_composedual_quat_composeDualQuatComposedual_quat_composeDualQuatComposeDualQuatCompose can be used to concatenate two 3D rigid transformations analogously to pose_composepose_composePoseComposepose_composePoseComposePoseCompose or hom_mat3d_composehom_mat3d_composeHomMat3dComposehom_mat3d_composeHomMat3dComposeHomMat3dCompose.

Parallelization

Parameters

DualQuaternionLeftDualQuaternionLeftDualQuaternionLeftDualQuaternionLeftDualQuaternionLeftdualQuaternionLeft (input_control)  dual_quaternion(-array) HDualQuaternion, HTupleHTupleHTupleHDualQuaternionX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Left dual quaternion.

DualQuaternionRightDualQuaternionRightDualQuaternionRightDualQuaternionRightDualQuaternionRightdualQuaternionRight (input_control)  dual_quaternion(-array) HDualQuaternion, HTupleHTupleHTupleHDualQuaternionX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Right dual quaternion.

DualQuaternionComposedDualQuaternionComposedDualQuaternionComposedDualQuaternionComposedDualQuaternionComposeddualQuaternionComposed (output_control)  dual_quaternion(-array) HDualQuaternion, HTupleHTupleHTupleHDualQuaternionX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Product of the dual quaternions.

Possible Predecessors

screw_to_dual_quatscrew_to_dual_quatScrewToDualQuatscrew_to_dual_quatScrewToDualQuatScrewToDualQuat

Possible Successors

dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3d, dual_quat_to_posedual_quat_to_poseDualQuatToPosedual_quat_to_poseDualQuatToPoseDualQuatToPose, dual_quat_to_screwdual_quat_to_screwDualQuatToScrewdual_quat_to_screwDualQuatToScrewDualQuatToScrew

Alternatives

pose_composepose_composePoseComposepose_composePoseComposePoseCompose, hom_mat3d_composehom_mat3d_composeHomMat3dComposehom_mat3d_composeHomMat3dComposeHomMat3dCompose

See also

dual_quat_interpolatedual_quat_interpolateDualQuatInterpolatedual_quat_interpolateDualQuatInterpolateDualQuatInterpolate, pose_to_dual_quatpose_to_dual_quatPoseToDualQuatpose_to_dual_quatPoseToDualQuatPoseToDualQuat, dual_quat_normalizedual_quat_normalizeDualQuatNormalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalize, dual_quat_conjugatedual_quat_conjugateDualQuatConjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugate, serialize_dual_quatserialize_dual_quatSerializeDualQuatserialize_dual_quatSerializeDualQuatSerializeDualQuat, deserialize_dual_quatdeserialize_dual_quatDeserializeDualQuatdeserialize_dual_quatDeserializeDualQuatDeserializeDualQuat, dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3d, quat_composequat_composeQuatComposequat_composeQuatComposeQuatCompose

Module

Foundation


ClassesClassesClassesClasses | | | | Operators