Name
dual_quat_compose T_dual_quat_compose DualQuatCompose DualQuatCompose — Multiply two dual quaternions.
The operator dual_quat_compose dual_quat_compose DualQuatCompose DualQuatCompose DualQuatCompose multiplies the two dual quaternions
DualQuaternionLeft DualQuaternionLeft DualQuaternionLeft DualQuaternionLeft dualQuaternionLeft and DualQuaternionRight DualQuaternionRight DualQuaternionRight DualQuaternionRight dualQuaternionRight and returns the
product in DualQuaternionComposed DualQuaternionComposed DualQuaternionComposed DualQuaternionComposed dualQuaternionComposed .
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_compose quat_compose QuatCompose QuatCompose QuatCompose .
Note that the multiplication of two dual quaternions is not commutative,
i.e.,
.
If DualQuaternionLeft DualQuaternionLeft DualQuaternionLeft DualQuaternionLeft dualQuaternionLeft and DualQuaternionRight DualQuaternionRight DualQuaternionRight DualQuaternionRight dualQuaternionRight 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_compose dual_quat_compose DualQuatCompose DualQuatCompose DualQuatCompose
can be used to concatenate two 3D rigid transformations analogously to
pose_compose pose_compose PoseCompose PoseCompose PoseCompose or hom_mat3d_compose hom_mat3d_compose HomMat3dCompose HomMat3dCompose HomMat3dCompose .
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Processed without parallelization.
Product of the dual quaternions.
screw_to_dual_quat screw_to_dual_quat ScrewToDualQuat ScrewToDualQuat ScrewToDualQuat
dual_quat_to_hom_mat3d dual_quat_to_hom_mat3d DualQuatToHomMat3d DualQuatToHomMat3d DualQuatToHomMat3d ,
dual_quat_to_pose dual_quat_to_pose DualQuatToPose DualQuatToPose DualQuatToPose ,
dual_quat_to_screw dual_quat_to_screw DualQuatToScrew DualQuatToScrew DualQuatToScrew
pose_compose pose_compose PoseCompose PoseCompose PoseCompose ,
hom_mat3d_compose hom_mat3d_compose HomMat3dCompose HomMat3dCompose HomMat3dCompose
dual_quat_interpolate dual_quat_interpolate DualQuatInterpolate DualQuatInterpolate DualQuatInterpolate ,
pose_to_dual_quat pose_to_dual_quat PoseToDualQuat PoseToDualQuat PoseToDualQuat ,
dual_quat_normalize dual_quat_normalize DualQuatNormalize DualQuatNormalize DualQuatNormalize ,
dual_quat_conjugate dual_quat_conjugate DualQuatConjugate DualQuatConjugate DualQuatConjugate ,
serialize_dual_quat serialize_dual_quat SerializeDualQuat SerializeDualQuat SerializeDualQuat ,
deserialize_dual_quat deserialize_dual_quat DeserializeDualQuat DeserializeDualQuat DeserializeDualQuat ,
dual_quat_trans_line_3d dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d DualQuatTransLine3d ,
quat_compose quat_compose QuatCompose QuatCompose QuatCompose
Foundation