hom_mat2d_compose T_hom_mat2d_compose HomMat2dCompose HomMat2dCompose hom_mat2d_compose  (Operator) 
Name 
hom_mat2d_compose T_hom_mat2d_compose HomMat2dCompose HomMat2dCompose hom_mat2d_compose  — Multiply two homogeneous 2D transformation matrices.
Signature 
Description 
hom_mat2d_compose hom_mat2d_compose HomMat2dCompose HomMat2dCompose HomMat2dCompose 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 HomMat2DLeft HomMat2DLeft HomMat2DLeft homMat2DLeft hom_mat_2dleft   (input_control)  hom_mat2d → HHomMat2D , HTuple Sequence[float] HTuple Htuple  (real)  (double )  (double )  (double )  
 
Left input transformation matrix.
 
  
HomMat2DRight HomMat2DRight HomMat2DRight HomMat2DRight homMat2DRight hom_mat_2dright   (input_control)  hom_mat2d → HHomMat2D , HTuple Sequence[float] HTuple Htuple  (real)  (double )  (double )  (double )  
 
Right input transformation matrix.
 
  
HomMat2DCompose HomMat2DCompose HomMat2DCompose HomMat2DCompose homMat2DCompose hom_mat_2dcompose   (output_control)  hom_mat2d → HHomMat2D , HTuple Sequence[float] HTuple Htuple  (real)  (double )  (double )  (double )  
 
Output transformation matrix.
 
Result 
If the parameters are valid, the operator hom_mat2d_compose hom_mat2d_compose HomMat2dCompose HomMat2dCompose HomMat2dCompose hom_mat2d_compose  returns
2  (
      H_MSG_TRUE )
    . If necessary, an exception is raised. 
Possible Predecessors 
hom_mat2d_compose hom_mat2d_compose HomMat2dCompose HomMat2dCompose HomMat2dCompose hom_mat2d_compose , 
hom_mat2d_translate hom_mat2d_translate HomMat2dTranslate HomMat2dTranslate HomMat2dTranslate hom_mat2d_translate , 
hom_mat2d_translate_local hom_mat2d_translate_local HomMat2dTranslateLocal HomMat2dTranslateLocal HomMat2dTranslateLocal hom_mat2d_translate_local , 
hom_mat2d_scale hom_mat2d_scale HomMat2dScale HomMat2dScale HomMat2dScale hom_mat2d_scale , 
hom_mat2d_scale_local hom_mat2d_scale_local HomMat2dScaleLocal HomMat2dScaleLocal HomMat2dScaleLocal hom_mat2d_scale_local , 
hom_mat2d_rotate hom_mat2d_rotate HomMat2dRotate HomMat2dRotate HomMat2dRotate hom_mat2d_rotate , 
hom_mat2d_rotate_local hom_mat2d_rotate_local HomMat2dRotateLocal HomMat2dRotateLocal HomMat2dRotateLocal hom_mat2d_rotate_local , 
hom_mat2d_slant hom_mat2d_slant HomMat2dSlant HomMat2dSlant HomMat2dSlant hom_mat2d_slant , 
hom_mat2d_slant_local hom_mat2d_slant_local HomMat2dSlantLocal HomMat2dSlantLocal HomMat2dSlantLocal hom_mat2d_slant_local , 
hom_mat2d_reflect hom_mat2d_reflect HomMat2dReflect HomMat2dReflect HomMat2dReflect hom_mat2d_reflect , 
hom_mat2d_reflect_local hom_mat2d_reflect_local HomMat2dReflectLocal HomMat2dReflectLocal HomMat2dReflectLocal hom_mat2d_reflect_local 
Possible Successors 
hom_mat2d_compose hom_mat2d_compose HomMat2dCompose HomMat2dCompose HomMat2dCompose hom_mat2d_compose , 
hom_mat2d_translate hom_mat2d_translate HomMat2dTranslate HomMat2dTranslate HomMat2dTranslate hom_mat2d_translate , 
hom_mat2d_translate_local hom_mat2d_translate_local HomMat2dTranslateLocal HomMat2dTranslateLocal HomMat2dTranslateLocal hom_mat2d_translate_local , 
hom_mat2d_scale hom_mat2d_scale HomMat2dScale HomMat2dScale HomMat2dScale hom_mat2d_scale , 
hom_mat2d_scale_local hom_mat2d_scale_local HomMat2dScaleLocal HomMat2dScaleLocal HomMat2dScaleLocal hom_mat2d_scale_local , 
hom_mat2d_rotate hom_mat2d_rotate HomMat2dRotate HomMat2dRotate HomMat2dRotate hom_mat2d_rotate , 
hom_mat2d_rotate_local hom_mat2d_rotate_local HomMat2dRotateLocal HomMat2dRotateLocal HomMat2dRotateLocal hom_mat2d_rotate_local , 
hom_mat2d_slant hom_mat2d_slant HomMat2dSlant HomMat2dSlant HomMat2dSlant hom_mat2d_slant , 
hom_mat2d_slant_local hom_mat2d_slant_local HomMat2dSlantLocal HomMat2dSlantLocal HomMat2dSlantLocal hom_mat2d_slant_local , 
hom_mat2d_reflect hom_mat2d_reflect HomMat2dReflect HomMat2dReflect HomMat2dReflect hom_mat2d_reflect , 
hom_mat2d_reflect_local hom_mat2d_reflect_local HomMat2dReflectLocal HomMat2dReflectLocal HomMat2dReflectLocal hom_mat2d_reflect_local 
Module 
Foundation