Operator Reference

pose_to_dual_quatT_pose_to_dual_quatPoseToDualQuatPoseToDualQuatpose_to_dual_quat (Operator)

pose_to_dual_quatT_pose_to_dual_quatPoseToDualQuatPoseToDualQuatpose_to_dual_quat — Convert a 3D pose to a unit dual quaternion.

Signature

pose_to_dual_quat( : : Pose : DualQuaternion)

Herror T_pose_to_dual_quat(const Htuple Pose, Htuple* DualQuaternion)

void PoseToDualQuat(const HTuple& Pose, HTuple* DualQuaternion)

void HDualQuaternion::HDualQuaternion(const HPose& Pose)

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

void HDualQuaternion::PoseToDualQuat(const HPose& Pose)

static void HOperatorSet.PoseToDualQuat(HTuple pose, out HTuple dualQuaternion)

public HDualQuaternion(HPose pose)

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

void HDualQuaternion.PoseToDualQuat(HPose pose)

def pose_to_dual_quat(pose: Sequence[Union[float, int]]) -> Sequence[float]

Description

The operator pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatpose_to_dual_quat converts the input PosePosePoseposepose into its corresponding unit dual quaternion DualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_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 and represent the same rigid transformation, the sign of the resulting dual quaternion DualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion is chosen such that the scalar part of the real part is .

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

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

PosePosePoseposepose (input_control)  pose(-array) HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

3D pose.

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

Unit dual quaternion.

Possible Predecessors

create_posecreate_poseCreatePoseCreatePosecreate_pose, read_poseread_poseReadPoseReadPoseread_pose

Possible Successors

dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposedual_quat_compose, dual_quat_interpolatedual_quat_interpolateDualQuatInterpolateDualQuatInterpolatedual_quat_interpolate, dual_quat_to_screwdual_quat_to_screwDualQuatToScrewDualQuatToScrewdual_quat_to_screw, dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate

Alternatives

pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d, screw_to_dual_quatscrew_to_dual_quatScrewToDualQuatScrewToDualQuatscrew_to_dual_quat

See also

dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3ddual_quat_to_hom_mat3d, dual_quat_to_posedual_quat_to_poseDualQuatToPoseDualQuatToPosedual_quat_to_pose, dual_quat_normalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalizedual_quat_normalize, serialize_dual_quatserialize_dual_quatSerializeDualQuatSerializeDualQuatserialize_dual_quat, deserialize_dual_quatdeserialize_dual_quatDeserializeDualQuatDeserializeDualQuatdeserialize_dual_quat, dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d, dual_quat_trans_point_3ddual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d, pose_to_quatpose_to_quatPoseToQuatPoseToQuatpose_to_quat

Module

Foundation