HALCON Operator reference
dual_quat_normalize (Operator)
dual_quat_normalize — Normalize a dual quaternion.
Signature
dual_quat_normalize( : : DualQuaternion : 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
is 1, i.e., . This is
equivalent to the following two conditions:
where represents the conjugate quaternion of
(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
- 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.
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