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_composePoseComposePoseComposePoseComposepose_compose verbindet jeweils zwei Posen aus den Eingabetupeln PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left und PoseRightPoseRightPoseRightPoseRightposeRightpose_right. Falls beide Tupel dieselbe Anzahl Posen enthalten, werden die entsprechenden Posen der beiden Tupel multipliziert. Ansonsten darf entweder PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left oder PoseRightPoseRightPoseRightPoseRightposeRightpose_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 PoseComposePoseComposePoseComposePoseComposeposeComposepose_compose ist folglich das Ergebnis der sequentiellen Anwendung der entsprechenden Posen der Eingabetupel PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left und PoseRightPoseRightPoseRightPoseRightposeRightpose_right.

Dazu werden zunächst die zu verbindenden Posen aus PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left und PoseRightPoseRightPoseRightPoseRightposeRightpose_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 PoseComposePoseComposePoseComposePoseComposeposeComposepose_compose zurückgegeben.

Falls die zu verbindenden Posen aus PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left und PoseRightPoseRightPoseRightPoseRightposeRightpose_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

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

Tupel der linken Posen.

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

Tupel der rechten Posen.

PoseComposePoseComposePoseComposePoseComposeposeComposepose_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_composePoseComposePoseComposePoseComposepose_compose den Wert TRUE. Gegebenenfalls wird eine Exception-Behandlung durchgeführt.

Vorgänger

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

Nachfolger

convert_pose_typeconvert_pose_typeConvertPoseTypeConvertPoseTypeConvertPoseTypeconvert_pose_type

Alternativen

hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dComposehom_mat3d_compose, dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose

Siehe auch

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

Modul

Foundation