Multiply two homogeneous 2D transformation matrices.
hom_mat2d_compose composes a new 2D transformation matrix by multiplying the two input matrices:
HomMat2DCompose = HomMat2DLeft * HomMat2DRight
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:
HomMat2DCompose = | R(l) t(l) | * | R(r) t(r) |
| 0 0 1 | | 0 0 1 |
= | R(l)*R(r) R(l)*t(r)+t(l) |
| 0 0 1 |
|
HomMat2DLeft (input_control) |
affine2d-array -> real |
| Left input transformation matrix. | |
| Number of elements: 6 | |
|
HomMat2DRight (input_control) |
affine2d-array -> real |
| Right input transformation matrix. | |
| Number of elements: 6 | |
|
HomMat2DCompose (output_control) |
affine2d-array -> real |
| Output transformation matrix. | |
| Number of elements: 6 | |
If the parameters are valid, the operator hom_mat2d_compose returns 2 (H_MSG_TRUE). If necessary, an exception is raised.
hom_mat2d_compose is reentrant and processed without parallelization.
hom_mat2d_compose, hom_mat2d_translate, hom_mat2d_scale, hom_mat2d_rotate, hom_mat2d_slant
hom_mat2d_translate, hom_mat2d_scale, hom_mat2d_rotate, hom_mat2d_slant
Basic operators