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