Skip to content

hom_mat2d_invertHomMat2dInvertHomMat2dInverthom_mat2d_invertT_hom_mat2d_invert🔗

Short description🔗

hom_mat2d_invertHomMat2dInvertHomMat2dInverthom_mat2d_invertT_hom_mat2d_invert — Invert a homogeneous 2D transformation matrix.

Signature🔗

hom_mat2d_invert( hom_mat2d HomMat2D, out hom_mat2d HomMat2DInvert )void HomMat2dInvert( const HTuple& HomMat2D, HTuple* HomMat2DInvert )static void HOperatorSet.HomMat2dInvert( HTuple homMat2D, out HTuple homMat2DInvert )def hom_mat2d_invert( hom_mat_2d: Sequence[float] ) -> Sequence[float]

Herror T_hom_mat2d_invert( const Htuple HomMat2D, Htuple* HomMat2DInvert )

HHomMat2D HHomMat2D::HomMat2dInvert( ) const

HHomMat2D HHomMat2D.HomMat2dInvert( )

Description🔗

hom_mat2d_invertHomMat2dInvert inverts the homogeneous 2D transformation matrix given by HomMat2DhomMat2Dhom_mat_2d. The resulting matrix is returned in HomMat2DInverthomMat2DInverthom_mat_2dinvert.

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🔗

HomMat2DhomMat2Dhom_mat_2d (input_control) hom_mat2d → (real)HTuple (double)HHomMat2D, HTuple (double)Sequence[float]Htuple (double)

Input transformation matrix.

HomMat2DInverthomMat2DInverthom_mat_2dinvert (output_control) hom_mat2d → (real)HTuple (double)HHomMat2D, HTuple (double)Sequence[float]Htuple (double)

Output transformation matrix.

Result🔗

hom_mat2d_invertHomMat2dInvert returns 2 (H_MSG_TRUE) if the parameters are valid and the input matrix is invertible. Otherwise, an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

hom_mat2d_translateHomMat2dTranslate, hom_mat2d_translate_localHomMat2dTranslateLocal, hom_mat2d_scaleHomMat2dScale, hom_mat2d_scale_localHomMat2dScaleLocal, hom_mat2d_rotateHomMat2dRotate, hom_mat2d_rotate_localHomMat2dRotateLocal, hom_mat2d_slantHomMat2dSlant, hom_mat2d_slant_localHomMat2dSlantLocal, hom_mat2d_reflectHomMat2dReflect, hom_mat2d_reflect_localHomMat2dReflectLocal

Possible successors

hom_mat2d_translateHomMat2dTranslate, hom_mat2d_translate_localHomMat2dTranslateLocal, hom_mat2d_scaleHomMat2dScale, hom_mat2d_scale_localHomMat2dScaleLocal, hom_mat2d_rotateHomMat2dRotate, hom_mat2d_rotate_localHomMat2dRotateLocal, hom_mat2d_slantHomMat2dSlant, hom_mat2d_slant_localHomMat2dSlantLocal, hom_mat2d_reflectHomMat2dReflect, hom_mat2d_reflect_localHomMat2dReflectLocal

Module🔗

Foundation