pose_composeT_pose_composePoseComposePoseComposepose_compose (算子)
名称
pose_composeT_pose_composePoseComposePoseComposepose_compose — 将两个元组中给出的三维姿态合并在一起。
签名
def pose_compose(pose_left: Sequence[Union[float, int]], pose_right: Sequence[Union[float, int]]) -> Sequence[Union[float, int]]
描述
pose_composepose_composePoseComposePoseComposePoseComposepose_compose combines the poses in the tuples, PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left and
PoseRightPoseRightPoseRightPoseRightposeRightpose_right. If both tuples contain the same number of poses, the
corresponding elements of both tuples are composed. Otherwise, either tuple
PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left or PoseRightPoseRightPoseRightPoseRightposeRightpose_right must contain only one pose.
In this case, the composition is performed for each pose of the longer tuple
with the single pose of the other tuple. For each composition, the poses are
interpreted as transformations of coordinate systems. The poses in tuple
PoseComposePoseComposePoseComposePoseComposeposeComposepose_compose are therefore the result of applying the corresponding
poses in PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left and PoseRightPoseRightPoseRightPoseRightposeRightpose_right in sequence.
First, the respective poses in PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left and PoseRightPoseRightPoseRightPoseRightposeRightpose_right
are transformed into the corresponding homogeneous transformation matrices
H1 and H2.
H1 is then multiplied with
H2. The resulting matrix
H1* H2 is converted
into a pose and returned at the corresponding index in tuple
PoseComposePoseComposePoseComposePoseComposeposeComposepose_compose。
If the respective poses in PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left and PoseRightPoseRightPoseRightPoseRightposeRightpose_right have
different types, the default pose type 0 ('Rp+T', 'gba', 'point') is
returned. Otherwise, the returned poses have the same types as the poses
used for their composition.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left (输入控制) pose(-array) → HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Tuple containing the left poses.
PoseRightPoseRightPoseRightPoseRightposeRightpose_right (输入控制) pose(-array) → HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Tuple containing the right poses.
PoseComposePoseComposePoseComposePoseComposeposeComposepose_compose (输出控制) pose(-array) → HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Tuple containing the returned poses.
结果
pose_composepose_composePoseComposePoseComposePoseComposepose_compose returns 2 (
H_MSG_TRUE)
if all parameters are valid。如有必要,则抛出异常。
可能的前趋
read_poseread_poseReadPoseReadPoseReadPoseread_pose,
hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose,
create_posecreate_poseCreatePoseCreatePoseCreatePosecreate_pose,
convert_pose_typeconvert_pose_typeConvertPoseTypeConvertPoseTypeConvertPoseTypeconvert_pose_type,
pose_invertpose_invertPoseInvertPoseInvertPoseInvertpose_invert
可能的后继
convert_pose_typeconvert_pose_typeConvertPoseTypeConvertPoseTypeConvertPoseTypeconvert_pose_type
替代
hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dComposehom_mat3d_compose,
dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose
另见
pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d,
hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose,
hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dComposehom_mat3d_compose
模块
基础