dual_quat_conjugateT_dual_quat_conjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate (Operator)

Name

dual_quat_conjugateT_dual_quat_conjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate — Conjugate a dual quaternion.

Signature

dual_quat_conjugate( : : DualQuaternion : DualQuaternionConjugate)

Herror T_dual_quat_conjugate(const Htuple DualQuaternion, Htuple* DualQuaternionConjugate)

void DualQuatConjugate(const HTuple& DualQuaternion, HTuple* DualQuaternionConjugate)

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

HDualQuaternion HDualQuaternion::DualQuatConjugate() const

static void HOperatorSet.DualQuatConjugate(HTuple dualQuaternion, out HTuple dualQuaternionConjugate)

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

HDualQuaternion HDualQuaternion.DualQuatConjugate()

def dual_quat_conjugate(dual_quaternion: Sequence[float]) -> Sequence[float]

Description

The operator dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate computes the conjugation DualQuaternionConjugateDualQuaternionConjugateDualQuaternionConjugateDualQuaternionConjugatedualQuaternionConjugatedual_quaternion_conjugate of the input dual quaternion DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion.

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 conjugation of a dual quaternion is given by , where and are the conjugations of the quaternions and .

For the conjugation of quaternions see quat_conjugatequat_conjugateQuatConjugateQuatConjugateQuatConjugatequat_conjugate.

If DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion is a unit dual quaternion and, hence, represents a 3D rigid transformation, its inverse is its conjugate, i.e., . Consequently, DualQuaternionConjugateDualQuaternionConjugateDualQuaternionConjugateDualQuaternionConjugatedualQuaternionConjugatedual_quaternion_conjugate represents the inverse 3D rigid transformation of DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion. Therefore, dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate can be used to invert a 3D rigid transformation analogously to pose_invertpose_invertPoseInvertPoseInvertPoseInvertpose_invert or hom_mat3d_inverthom_mat3d_invertHomMat3dInvertHomMat3dInvertHomMat3dInverthom_mat3d_invert.

Execution Information

Parameters

DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion (input_control)  dual_quaternion(-array) HDualQuaternion, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Dual quaternion.

DualQuaternionConjugateDualQuaternionConjugateDualQuaternionConjugateDualQuaternionConjugatedualQuaternionConjugatedual_quaternion_conjugate (output_control)  dual_quaternion(-array) HDualQuaternion, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Conjugate of the dual quaternion.

Possible Predecessors

dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose, pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatPoseToDualQuatpose_to_dual_quat, screw_to_dual_quatscrew_to_dual_quatScrewToDualQuatScrewToDualQuatScrewToDualQuatscrew_to_dual_quat

Possible Successors

dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose, dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3dDualQuatToHomMat3ddual_quat_to_hom_mat3d, dual_quat_to_screwdual_quat_to_screwDualQuatToScrewDualQuatToScrewDualQuatToScrewdual_quat_to_screw, dual_quat_interpolatedual_quat_interpolateDualQuatInterpolateDualQuatInterpolateDualQuatInterpolatedual_quat_interpolate, dual_quat_to_posedual_quat_to_poseDualQuatToPoseDualQuatToPoseDualQuatToPosedual_quat_to_pose

Alternatives

pose_invertpose_invertPoseInvertPoseInvertPoseInvertpose_invert, hom_mat3d_inverthom_mat3d_invertHomMat3dInvertHomMat3dInvertHomMat3dInverthom_mat3d_invert

See also

dual_quat_normalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalizeDualQuatNormalizedual_quat_normalize, serialize_dual_quatserialize_dual_quatSerializeDualQuatSerializeDualQuatSerializeDualQuatserialize_dual_quat, deserialize_dual_quatdeserialize_dual_quatDeserializeDualQuatDeserializeDualQuatDeserializeDualQuatdeserialize_dual_quat, dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d, quat_conjugatequat_conjugateQuatConjugateQuatConjugateQuatConjugatequat_conjugate

Module

Foundation