Operator Reference

hom_mat3d_invertT_hom_mat3d_invertHomMat3dInvertHomMat3dInverthom_mat3d_invert (Operator)

hom_mat3d_invertT_hom_mat3d_invertHomMat3dInvertHomMat3dInverthom_mat3d_invert — Invert a homogeneous 3D transformation matrix.

Signature

hom_mat3d_invert( : : HomMat3D : HomMat3DInvert)

Herror T_hom_mat3d_invert(const Htuple HomMat3D, Htuple* HomMat3DInvert)

void HomMat3dInvert(const HTuple& HomMat3D, HTuple* HomMat3DInvert)

HHomMat3D HHomMat3D::HomMat3dInvert() const

static void HOperatorSet.HomMat3dInvert(HTuple homMat3D, out HTuple homMat3DInvert)

HHomMat3D HHomMat3D.HomMat3dInvert()

def hom_mat3d_invert(hom_mat_3d: Sequence[float]) -> Sequence[float]

Description

hom_mat3d_inverthom_mat3d_invertHomMat3dInvertHomMat3dInverthom_mat3d_invert inverts the homogeneous 3D transformation matrix given by HomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d. The resulting matrix is returned in HomMat3DInvertHomMat3DInvertHomMat3DInverthomMat3DInverthom_mat_3dinvert.

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, rc, td, re, rf, rg, th, ri, rj, rk, tl]. However, it is also possible to process full 4×4 matrices, which represent a projective 4D 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

HomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d (input_control)  hom_mat3d HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Input transformation matrix.

HomMat3DInvertHomMat3DInvertHomMat3DInverthomMat3DInverthom_mat_3dinvert (output_control)  hom_mat3d HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Output transformation matrix.

Result

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

Possible Predecessors

hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_local, hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScalehom_mat3d_scale, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d

Possible Successors

hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_local, hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScalehom_mat3d_scale, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose

Alternatives

pose_invertpose_invertPoseInvertPoseInvertpose_invert, dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate

See also

affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d, hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentityhom_mat3d_identity, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate, hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose, hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposehom_mat3d_compose

Module

Foundation