ClassesClassesClassesClasses | | | | Operators

dual_quat_normalizeT_dual_quat_normalizeDualQuatNormalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalize (Operator)

Name

dual_quat_normalizeT_dual_quat_normalizeDualQuatNormalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalize — Normalize a dual quaternion.

Signature

dual_quat_normalize( : : DualQuaternion : DualQuaternionNormalized)

Herror T_dual_quat_normalize(const Htuple DualQuaternion, Htuple* DualQuaternionNormalized)

Herror dual_quat_normalize(const HTuple& DualQuaternion, HTuple* DualQuaternionNormalized)

void DualQuatNormalize(const HTuple& DualQuaternion, HTuple* DualQuaternionNormalized)

static HDualQuaternionArray HDualQuaternion::DualQuatNormalize(const HDualQuaternionArray& DualQuaternion)

HDualQuaternion HDualQuaternion::DualQuatNormalize() const

void HOperatorSetX.DualQuatNormalize(
[in] VARIANT DualQuaternion, [out] VARIANT* DualQuaternionNormalized)

IHDualQuaternionX* HDualQuaternionX.DualQuatNormalize()

static void HOperatorSet.DualQuatNormalize(HTuple dualQuaternion, out HTuple dualQuaternionNormalized)

static HDualQuaternion[] HDualQuaternion.DualQuatNormalize(HDualQuaternion[] dualQuaternion)

HDualQuaternion HDualQuaternion.DualQuatNormalize()

Description

The operator dual_quat_normalizedual_quat_normalizeDualQuatNormalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalize normalizes the input dual quaternion DualQuaternionDualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaternion and returns the normalized dual quaternion, which is also called a unit dual quaternion, in DualQuaternionNormalizedDualQuaternionNormalizedDualQuaternionNormalizedDualQuaternionNormalizedDualQuaternionNormalizeddualQuaternionNormalized.

For a brief introduction to dual quaternions, the used notation, and the relationship between dual quaternions and screws, see the documentation of this chapter (Transformations / Dual Quaternions).

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_conjugatequat_conjugateQuatConjugatequat_conjugateQuatConjugateQuatConjugate).

A 3D rigid transformation can be represented by a unit dual quaternion.

Attention

If the norm of the real part of DualQuaternionDualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaternion is 0, dual_quat_normalizedual_quat_normalizeDualQuatNormalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalize returns the error code 9310 (H_ERR_DQ_ZERO_NORM) because in this case no normalization is possible.

Parallelization

Parameters

DualQuaternionDualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaternion (input_control)  dual_quaternion(-array) HDualQuaternion, HTupleHTupleHTupleHDualQuaternionX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Unit dual quaternion.

DualQuaternionNormalizedDualQuaternionNormalizedDualQuaternionNormalizedDualQuaternionNormalizedDualQuaternionNormalizeddualQuaternionNormalized (output_control)  dual_quaternion(-array) HDualQuaternion, HTupleHTupleHTupleHDualQuaternionX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Normalized dual quaternion.

Possible Predecessors

dual_quat_composedual_quat_composeDualQuatComposedual_quat_composeDualQuatComposeDualQuatCompose

Possible Successors

dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3d

See also

dual_quat_interpolatedual_quat_interpolateDualQuatInterpolatedual_quat_interpolateDualQuatInterpolateDualQuatInterpolate, pose_to_dual_quatpose_to_dual_quatPoseToDualQuatpose_to_dual_quatPoseToDualQuatPoseToDualQuat, screw_to_dual_quatscrew_to_dual_quatScrewToDualQuatscrew_to_dual_quatScrewToDualQuatScrewToDualQuat, dual_quat_to_screwdual_quat_to_screwDualQuatToScrewdual_quat_to_screwDualQuatToScrewDualQuatToScrew, dual_quat_to_posedual_quat_to_poseDualQuatToPosedual_quat_to_poseDualQuatToPoseDualQuatToPose, dual_quat_conjugatedual_quat_conjugateDualQuatConjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugate, serialize_dual_quatserialize_dual_quatSerializeDualQuatserialize_dual_quatSerializeDualQuatSerializeDualQuat, deserialize_dual_quatdeserialize_dual_quatDeserializeDualQuatdeserialize_dual_quatDeserializeDualQuatDeserializeDualQuat, dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3d, quat_normalizequat_normalizeQuatNormalizequat_normalizeQuatNormalizeQuatNormalize

Module

Foundation


ClassesClassesClassesClasses | | | | Operators