Skip to content

pose_to_dual_quatPoseToDualQuatPoseToDualQuatpose_to_dual_quatT_pose_to_dual_quatπŸ”—

Short descriptionπŸ”—

pose_to_dual_quatPoseToDualQuatPoseToDualQuatpose_to_dual_quatT_pose_to_dual_quat β€” Convert a 3D pose to a unit dual quaternion.

SignatureπŸ”—

pose_to_dual_quat( pose Pose, out dual_quaternion DualQuaternion )void PoseToDualQuat( const HTuple& Pose, HTuple* DualQuaternion )static void HOperatorSet.PoseToDualQuat( HTuple pose, out HTuple dualQuaternion )def pose_to_dual_quat( pose: Sequence[Union[float, int]] ) -> Sequence[float]

Herror T_pose_to_dual_quat( const Htuple Pose, Htuple* DualQuaternion )

void HDualQuaternion::HDualQuaternion( const HPose& Pose )

public HDualQuaternion( HPose pose )

static HDualQuaternionArray HDualQuaternion::PoseToDualQuat( const HPoseArray& Pose )

void HDualQuaternion::PoseToDualQuat( const HPose& Pose )

static HDualQuaternion[] HDualQuaternion.PoseToDualQuat( HPose[] pose )

void HDualQuaternion.PoseToDualQuat( HPose pose )

DescriptionπŸ”—

The operator pose_to_dual_quatPoseToDualQuat converts the input Poseposepose into its corresponding unit dual quaternion DualQuaterniondualQuaterniondual_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”.

Because \(\hat{q}\) and \(-\hat{q}\) represent the same rigid transformation, the sign of the resulting dual quaternion DualQuaterniondualQuaterniondual_quaternion is chosen such that the scalar part of the real part is \(\ge 0\).

Multiple poses can be passed in Poseposepose, in which case a unit dual quaternion is returned for each of them.

Execution informationπŸ”—

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πŸ”—

Poseposepose (input_control) pose(-array) β†’ (real / integer)HTuple (double / Hlong)HPose, HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

3D pose.

DualQuaterniondualQuaterniondual_quaternion (output_control) dual_quaternion(-array) β†’ (real)HTuple (double)HDualQuaternion, HTuple (double)Sequence[float]Htuple (double)

Unit dual quaternion.

Combinations with other operatorsπŸ”—

Combinations

Possible predecessors

create_poseCreatePose, read_poseReadPose

Possible successors

dual_quat_composeDualQuatCompose, dual_quat_interpolateDualQuatInterpolate, dual_quat_to_screwDualQuatToScrew, dual_quat_conjugateDualQuatConjugate

Alternatives

pose_to_hom_mat3dPoseToHomMat3d, screw_to_dual_quatScrewToDualQuat

See also

dual_quat_to_hom_mat3dDualQuatToHomMat3d, dual_quat_to_poseDualQuatToPose, dual_quat_normalizeDualQuatNormalize, serialize_dual_quatSerializeDualQuat, deserialize_dual_quatDeserializeDualQuat, dual_quat_trans_line_3dDualQuatTransLine3d, dual_quat_trans_point_3dDualQuatTransPoint3d, pose_to_quatPoseToQuat

ModuleπŸ”—

Foundation