pose_composeT_pose_composePoseComposePoseComposepose_compose (算子名称)

名称

pose_composeT_pose_composePoseComposePoseComposepose_compose — Combine 3D poses given in two tuples.

参数签名

pose_compose( : : PoseLeft, PoseRight : PoseCompose)

Herror T_pose_compose(const Htuple PoseLeft, const Htuple PoseRight, Htuple* PoseCompose)

void PoseCompose(const HTuple& PoseLeft, const HTuple& PoseRight, HTuple* PoseCompose)

static HPoseArray HPose::PoseCompose(const HPoseArray& PoseLeft, const HPoseArray& PoseRight)

HPose HPose::PoseCompose(const HPose& PoseRight) const

static void HOperatorSet.PoseCompose(HTuple poseLeft, HTuple poseRight, out HTuple poseCompose)

static HPose[] HPose.PoseCompose(HPose[] poseLeft, HPose[] poseRight)

HPose HPose.PoseCompose(HPose poseRight)

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 (input_control)  pose(-array) HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Tuple containing the left poses.

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

Tuple containing the right poses.

PoseComposePoseComposePoseComposePoseComposeposeComposepose_compose (output_control)  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. If necessary, an exception is raised.

可能的前置算子

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

模块

Foundation