dual_quat_normalizeπ
Short descriptionπ
dual_quat_normalize β Normalize a dual quaternion.
Signatureπ
dual_quat_normalize( dual_quaternion DualQuaternion, out dual_quaternion DualQuaternionNormalized )
Descriptionπ
The operator dual_quat_normalize normalizes the input dual
quaternion DualQuaternion and returns the normalized dual
quaternion, which is also called a unit dual quaternion,
in DualQuaternionNormalized.
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 norm of a unit dual quaternion \(\hat{q} = q_{r} + \varepsilon q_{d}\) is 1, i.e., \(\hat{q} \bar{\hat{q}}=1\). This is equivalent to the following two conditions:
where \(\bar{q}\) represents the conjugate quaternion of
\(q\) (see quat_conjugate).
A 3D rigid transformation can be represented by a unit dual quaternion.
Attentionπ
If the norm of the real part of DualQuaternion is 0,
dual_quat_normalize returns the error code 9310 (H_ERR_DQ_ZERO_NORM)
because in this case no normalization is possible.
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π
DualQuaternion (input_control) dual_quaternion(-array) β (real)
Unit dual quaternion.
DualQuaternionNormalized (output_control) dual_quaternion(-array) β (real)
Normalized dual quaternion.
Combinations with other operatorsπ
Combinations
Possible predecessors
Possible successors
See also
dual_quat_interpolate, pose_to_dual_quat, screw_to_dual_quat, dual_quat_to_screw, dual_quat_to_pose, dual_quat_conjugate, serialize_dual_quat, deserialize_dual_quat, dual_quat_trans_line_3d, dual_quat_trans_point_3d, quat_normalize
Moduleπ
Foundation