hom_mat2d_compose🔗
Short description🔗
hom_mat2d_compose — Multiply two homogeneous 2D transformation matrices.
Signature🔗
hom_mat2d_compose( hom_mat2d HomMat2DLeft, hom_mat2d HomMat2DRight, out hom_mat2d 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 \(\mvHomMatrixTwoDElements{ra & rb & tc \\ rd & re & tf}\) 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🔗
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.
Combinations with other operators🔗
Combinations
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