dual_quat_composeπ
Short descriptionπ
dual_quat_compose β Multiply two dual quaternions.
Signatureπ
dual_quat_compose( dual_quaternion DualQuaternionLeft, dual_quaternion DualQuaternionRight, out dual_quaternion DualQuaternionComposed )
Descriptionπ
The operator dual_quat_compose multiplies the two dual quaternions
DualQuaternionLeft and DualQuaternionRight and returns the
product in DualQuaternionComposed.
For a brief introduction to dual quaternions, the used notation, and the
relationship between dual quaternions and screws, see
βSolution Guide III-C - 3D Visionβ.
The multiplication of the dual quaternions \(\hat{p}\) and \(\hat{q}\) is \(\hat{p} \hat{q} = p_{r}q_{r}+\varepsilon (p_{r}q_{d} + p_{d}q_{r})\).
For the multiplication of quaternions see quat_compose.
Note that the multiplication of two dual quaternions is not commutative, i.e., \(\hat{p} \hat{q} \neq \hat{q} \hat{p}\).
If DualQuaternionLeft and 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
can be used to concatenate two 3D rigid transformations analogously to
pose_compose or hom_mat3d_compose.
Execution informationπ
Execution information
-
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
-
Multithreading scope: global (may be called from any thread).
-
Processed without parallelization.
Parametersπ
DualQuaternionLeft (input_control) dual_quaternion(-array) β (real)
Left dual quaternion.
DualQuaternionRight (input_control) dual_quaternion(-array) β (real)
Right dual quaternion.
DualQuaternionComposed (output_control) dual_quaternion(-array) β (real)
Product of the dual quaternions.
Combinations with other operatorsπ
Combinations
Possible predecessors
Possible successors
dual_quat_to_hom_mat3d, dual_quat_to_pose, dual_quat_to_screw
Alternatives
pose_compose, hom_mat3d_compose
See also
dual_quat_interpolate, pose_to_dual_quat, dual_quat_normalize, dual_quat_conjugate, serialize_dual_quat, deserialize_dual_quat, dual_quat_trans_line_3d, dual_quat_trans_point_3d, quat_compose
Moduleπ
Foundation