Dual Quaternions

List of Operators ↓

This chapter contains operators for handling dual quaternions.

Introduction to Dual Quaternions

A dual quaternion consists of the two quaternions and , where is the real part, is the dual part, and is the dual unit number ( ). Each quaternion consists of the scalar part and the vector part , where are the basis elements of the quaternion vector space.

For information how dual quaternions can be used for the description of rigid 3D transformations and their relation to Plücker coordinates, see “Solution Guide III-C - 3D Vision”.

Representing Dual Quaternions in HALCON

In HALCON, a dual quaternion is represented by a tuple with eight values , where and are the scalar and the vector part of the real part and and are the scalar and the vector part of the dual part.


List of Operators

deserialize_dual_quatDeserializeDualQuatdeserialize_dual_quatDeserializeDualQuatdeserialize_dual_quat
Deserialize a serialized dual quaternion.
dual_quat_composeDualQuatComposedual_quat_composeDualQuatComposedual_quat_compose
Multiply two dual quaternions.
dual_quat_conjugateDualQuatConjugatedual_quat_conjugateDualQuatConjugatedual_quat_conjugate
Conjugate a dual quaternion.
dual_quat_interpolateDualQuatInterpolatedual_quat_interpolateDualQuatInterpolatedual_quat_interpolate
Interpolate two dual quaternions.
dual_quat_normalizeDualQuatNormalizedual_quat_normalizeDualQuatNormalizedual_quat_normalize
Normalize a dual quaternion.
dual_quat_to_hom_mat3dDualQuatToHomMat3ddual_quat_to_hom_mat3dDualQuatToHomMat3ddual_quat_to_hom_mat3d
Convert a unit dual quaternion into a homogeneous transformation matrix.
dual_quat_to_screwDualQuatToScrewdual_quat_to_screwDualQuatToScrewdual_quat_to_screw
Convert a unit dual quaternion into a screw.
dual_quat_trans_line_3dDualQuatTransLine3ddual_quat_trans_line_3dDualQuatTransLine3ddual_quat_trans_line_3d
Transform a 3D line with a unit dual quaternion.
dual_quat_trans_point_3dDualQuatTransPoint3ddual_quat_trans_point_3dDualQuatTransPoint3ddual_quat_trans_point_3d
Transform a 3D point with a unit dual quaternion.
screw_to_dual_quatScrewToDualQuatscrew_to_dual_quatScrewToDualQuatscrew_to_dual_quat
Convert a screw into a dual quaternion.
serialize_dual_quatSerializeDualQuatserialize_dual_quatSerializeDualQuatserialize_dual_quat
Serialize a dual quaternion.