Operator Reference
hom_mat2d_compose (Operator)
hom_mat2d_compose
— Multiply two homogeneous 2D transformation matrices.
Signature
hom_mat2d_compose( : : HomMat2DLeft, HomMat2DRight : HomMat2DCompose)
Description
hom_mat2d_compose
composes a new 2D transformation matrix
by multiplying the two input matrices:
For example, if the two input matrices correspond to rigid transformations, i.e., to transformations consisting of a rotation and a translation, the resulting matrix is calculated as follows:
Attention
Note that homogeneous matrices are stored row-by-row as a tuple; the last row is usually not stored because it is identical for all homogeneous matrices that describe an affine transformation. For example, the homogeneous matrix is stored as the tuple [ra, rb, tc, rd, re, tf]. However, it is also possible to process full 3×3 matrices, which represent a projective 2D transformation.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
HomMat2DLeft
(input_control) hom_mat2d →
(real)
Left input transformation matrix.
HomMat2DRight
(input_control) hom_mat2d →
(real)
Right input transformation matrix.
HomMat2DCompose
(output_control) hom_mat2d →
(real)
Output transformation matrix.
Result
If the parameters are valid, the operator hom_mat2d_compose
returns
2 (
H_MSG_TRUE)
. If necessary, an exception is raised.
Possible Predecessors
hom_mat2d_compose
,
hom_mat2d_translate
,
hom_mat2d_translate_local
,
hom_mat2d_scale
,
hom_mat2d_scale_local
,
hom_mat2d_rotate
,
hom_mat2d_rotate_local
,
hom_mat2d_slant
,
hom_mat2d_slant_local
,
hom_mat2d_reflect
,
hom_mat2d_reflect_local
Possible Successors
hom_mat2d_compose
,
hom_mat2d_translate
,
hom_mat2d_translate_local
,
hom_mat2d_scale
,
hom_mat2d_scale_local
,
hom_mat2d_rotate
,
hom_mat2d_rotate_local
,
hom_mat2d_slant
,
hom_mat2d_slant_local
,
hom_mat2d_reflect
,
hom_mat2d_reflect_local
Module
Foundation