pose_compose — Komposition von 3D-Lagen aus zwei Tupeln.
pose_compose( : : PoseLeft, PoseRight : PoseCompose)
pose_compose verbindet jeweils zwei Posen aus den Eingabetupeln
PoseLeft und PoseRight. Falls beide Tupel
dieselbe Anzahl Posen enthalten, werden die entsprechenden Posen der beiden
Tupel multipliziert. Ansonsten darf entweder PoseLeft oder
PoseRight 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 PoseCompose ist folglich das Ergebnis der
sequentiellen Anwendung der entsprechenden Posen der Eingabetupel
PoseLeft und PoseRight.
Dazu werden zunächst die zu verbindenden Posen aus PoseLeft und
PoseRight 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 PoseCompose zurückgegeben.
Falls die zu verbindenden Posen aus PoseLeft und
PoseRight verschiedene Posetypen haben, hat die Ergebnispose den
Type 0 ('Rp+T', 'gba', 'point'). Andernfalls hat die Ergebnispose den
gleichen Typ wie die Eingangsposen.
PoseLeft (input_control) pose(-array) → (real / integer)
Tupel der linken Posen.
PoseRight (input_control) pose(-array) → (real / integer)
Tupel der rechten Posen.
PoseCompose (output_control) pose(-array) → (real / integer)
Tupel der Ausgabeposen.
Sind die Parameterwerte korrekt, dann liefert pose_compose
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Exception-Behandlung durchgeführt.
read_pose,
hom_mat3d_to_pose,
create_pose,
convert_pose_type,
pose_invert
hom_mat3d_compose,
dual_quat_compose
pose_to_hom_mat3d,
hom_mat3d_to_pose,
hom_mat3d_compose
Foundation