dual_quat_composeT_dual_quat_composeDualQuatComposeDualQuatComposedual_quat_compose (算子)

名称

dual_quat_composeT_dual_quat_composeDualQuatComposeDualQuatComposedual_quat_compose — 乘两个对偶四元数。

签名

dual_quat_compose( : : DualQuaternionLeft, DualQuaternionRight : DualQuaternionComposed)

Herror T_dual_quat_compose(const Htuple DualQuaternionLeft, const Htuple DualQuaternionRight, Htuple* DualQuaternionComposed)

void DualQuatCompose(const HTuple& DualQuaternionLeft, const HTuple& DualQuaternionRight, HTuple* DualQuaternionComposed)

static HDualQuaternionArray HDualQuaternion::DualQuatCompose(const HDualQuaternionArray& DualQuaternionLeft, const HDualQuaternionArray& DualQuaternionRight)

HDualQuaternion HDualQuaternion::DualQuatCompose(const HDualQuaternion& DualQuaternionRight) const

static void HOperatorSet.DualQuatCompose(HTuple dualQuaternionLeft, HTuple dualQuaternionRight, out HTuple dualQuaternionComposed)

static HDualQuaternion[] HDualQuaternion.DualQuatCompose(HDualQuaternion[] dualQuaternionLeft, HDualQuaternion[] dualQuaternionRight)

HDualQuaternion HDualQuaternion.DualQuatCompose(HDualQuaternion dualQuaternionRight)

def dual_quat_compose(dual_quaternion_left: Sequence[float], dual_quaternion_right: Sequence[float]) -> Sequence[float]

描述

算子 dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose multiplies the two dual quaternions DualQuaternionLeftDualQuaternionLeftDualQuaternionLeftDualQuaternionLeftdualQuaternionLeftdual_quaternion_left and DualQuaternionRightDualQuaternionRightDualQuaternionRightDualQuaternionRightdualQuaternionRightdual_quaternion_right and returns the product in DualQuaternionComposedDualQuaternionComposedDualQuaternionComposedDualQuaternionComposeddualQuaternionComposeddual_quaternion_composed

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 multiplication of the dual quaternions and is

For the multiplication of quaternions see quat_composequat_composeQuatComposeQuatComposeQuatComposequat_compose

Note that the multiplication of two dual quaternions is not commutative, i.e.,

If DualQuaternionLeftDualQuaternionLeftDualQuaternionLeftDualQuaternionLeftdualQuaternionLeftdual_quaternion_left and DualQuaternionRightDualQuaternionRightDualQuaternionRightDualQuaternionRightdualQuaternionRightdual_quaternion_right are unit dual quaternions and, hence, represent 3D rigid transformations, their multiplication corresponds to the multiplication of their corresponding homogeneous transformation matrices. Consequently, dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose can be used to concatenate two 3D rigid transformations analogously to pose_composepose_composePoseComposePoseComposePoseComposepose_compose or hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dComposehom_mat3d_compose

执行信息

参数

DualQuaternionLeftDualQuaternionLeftDualQuaternionLeftDualQuaternionLeftdualQuaternionLeftdual_quaternion_left (输入控制)  dual_quaternion(-array) HDualQuaternion, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Left dual quaternion.

DualQuaternionRightDualQuaternionRightDualQuaternionRightDualQuaternionRightdualQuaternionRightdual_quaternion_right (输入控制)  dual_quaternion(-array) HDualQuaternion, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Right dual quaternion.

DualQuaternionComposedDualQuaternionComposedDualQuaternionComposedDualQuaternionComposeddualQuaternionComposeddual_quaternion_composed (输出控制)  dual_quaternion(-array) HDualQuaternion, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Product of the dual quaternions.

可能的前趋

screw_to_dual_quatscrew_to_dual_quatScrewToDualQuatScrewToDualQuatScrewToDualQuatscrew_to_dual_quat

可能的后继

dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3dDualQuatToHomMat3ddual_quat_to_hom_mat3d, dual_quat_to_posedual_quat_to_poseDualQuatToPoseDualQuatToPoseDualQuatToPosedual_quat_to_pose, dual_quat_to_screwdual_quat_to_screwDualQuatToScrewDualQuatToScrewDualQuatToScrewdual_quat_to_screw

替代

pose_composepose_composePoseComposePoseComposePoseComposepose_compose, hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dComposehom_mat3d_compose

另见

dual_quat_interpolatedual_quat_interpolateDualQuatInterpolateDualQuatInterpolateDualQuatInterpolatedual_quat_interpolate, pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatPoseToDualQuatpose_to_dual_quat, dual_quat_normalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalizeDualQuatNormalizedual_quat_normalize, dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate, 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, dual_quat_trans_point_3ddual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d, quat_composequat_composeQuatComposeQuatComposeQuatComposequat_compose

模块

基础