pose_composeT_pose_composePoseComposePoseComposepose_compose (Operator)

Name

pose_composeT_pose_composePoseComposePoseComposepose_compose — Komposition von 3D-Lagen aus zwei Tupeln.

Signatur

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]]

Beschreibung

pose_composepose_composePoseComposePoseComposepose_compose verbindet jeweils zwei Posen aus den Eingabetupeln PoseLeftPoseLeftPoseLeftposeLeftpose_left und PoseRightPoseRightPoseRightposeRightpose_right. Falls beide Tupel dieselbe Anzahl Posen enthalten, werden die entsprechenden Posen der beiden Tupel multipliziert. Ansonsten darf entweder PoseLeftPoseLeftPoseLeftposeLeftpose_left oder PoseRightPoseRightPoseRightposeRightpose_right nur eine Pose enthalten. In diesem Fall wird die Multiplikation für jede Pose des längeren Tupels mit der einzigen Pose des anderen Tupels ausgeführt. Für jede Komposition sind die Posen als Transformationen von Koordinatensystemen zu verstehen. Jede Pose in Ausgabetupel PoseComposePoseComposePoseComposeposeComposepose_compose ist folglich das Ergebnis der sequentiellen Anwendung der entsprechenden Posen der Eingabetupel PoseLeftPoseLeftPoseLeftposeLeftpose_left und PoseRightPoseRightPoseRightposeRightpose_right.

Dazu werden zunächst die zu verbindenden Posen aus PoseLeftPoseLeftPoseLeftposeLeftpose_left und PoseRightPoseRightPoseRightposeRightpose_right in die entsprechenden homogenen Transformationsmatrizen und umgewandelt. Dann wird mit multipliziert. Die resultierende Matrix wird dann in eine Pose umgerechnet und an entsprechender Stelle im Ausgabetupel PoseComposePoseComposePoseComposeposeComposepose_compose zurückgegeben.

Falls die zu verbindenden Posen aus PoseLeftPoseLeftPoseLeftposeLeftpose_left und PoseRightPoseRightPoseRightposeRightpose_right verschiedene Posentypen haben, hat die Ergebnispose den Type 0 ('Rp+T', 'gba', 'point'). Andernfalls hat die Ergebnispose den gleichen Typ wie die Eingangsposen.

Ausführungsinformationen

Parameter

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

Tupel der linken Posen.

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

Tupel der rechten Posen.

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

Tupel der Ausgabeposen.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert pose_composepose_composePoseComposePoseComposepose_compose den Wert 2 ( H_MSG_TRUE) . Gegebenenfalls wird eine Exception-Behandlung durchgeführt.

Vorgänger

read_poseread_poseReadPoseReadPoseread_pose, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose, create_posecreate_poseCreatePoseCreatePosecreate_pose, convert_pose_typeconvert_pose_typeConvertPoseTypeConvertPoseTypeconvert_pose_type, pose_invertpose_invertPoseInvertPoseInvertpose_invert

Nachfolger

convert_pose_typeconvert_pose_typeConvertPoseTypeConvertPoseTypeconvert_pose_type

Alternativen

hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposehom_mat3d_compose, dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposedual_quat_compose

Siehe auch

pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose, hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposehom_mat3d_compose

Modul

Foundation