pose_compose
— Combine 3D poses given in two tuples.
pose_compose( : : PoseLeft, PoseRight : PoseCompose)
pose_compose
combines the poses in the tuples, PoseLeft
and
PoseRight
. If both tuples contain the same number of poses, the
corresponding elements of both tuples are composed. Otherwise, either tuple
PoseLeft
or PoseRight
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
PoseCompose
are therefore the result of applying the corresponding
poses in PoseLeft
and PoseRight
in sequence.
First, the respective poses in PoseLeft
and PoseRight
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
PoseCompose
.
If the respective poses in PoseLeft
and PoseRight
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.
PoseLeft
(input_control) pose(-array) →
(real / integer)
Tuple containing the left poses.
PoseRight
(input_control) pose(-array) →
(real / integer)
Tuple containing the right poses.
PoseCompose
(output_control) pose(-array) →
(real / integer)
Tuple containing the returned poses.
pose_compose
returns 2 (H_MSG_TRUE) if all parameters are valid.
If necessary, an exception is raised.
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