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