hom_mat2d_compose ( : : HomMat2DLeft, HomMat2DRight : HomMat2DCompose )

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        |
                         


Parameters

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


Result

If the parameters are valid, the operator hom_mat2d_compose returns 2 (H_MSG_TRUE). If necessary, an exception is raised.


Parallelization Information

hom_mat2d_compose is reentrant and processed without parallelization.


Possible Predecessors

hom_mat2d_compose, hom_mat2d_translate, hom_mat2d_scale, hom_mat2d_rotate, hom_mat2d_slant


Possible Successors

hom_mat2d_translate, hom_mat2d_scale, hom_mat2d_rotate, hom_mat2d_slant


Module

Basic operators



Copyright © 1996-2005 MVTec Software GmbH