ClassesClasses | | Operators

hom_mat3d_invertT_hom_mat3d_invertHomMat3dInvertHomMat3dInvert (Operator)

Name

hom_mat3d_invertT_hom_mat3d_invertHomMat3dInvertHomMat3dInvert — 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()

Description

hom_mat3d_inverthom_mat3d_invertHomMat3dInvertHomMat3dInvertHomMat3dInvert inverts the homogeneous 3D transformation matrix given by HomMat3DHomMat3DHomMat3DHomMat3DhomMat3D. The resulting matrix is returned in HomMat3DInvertHomMat3DInvertHomMat3DInvertHomMat3DInverthomMat3DInvert.

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

Parameters

HomMat3DHomMat3DHomMat3DHomMat3DhomMat3D (input_control)  hom_mat3d HHomMat3D, HTupleHTupleHtuple (real) (double) (double) (double)

Input transformation matrix.

HomMat3DInvertHomMat3DInvertHomMat3DInvertHomMat3DInverthomMat3DInvert (output_control)  hom_mat3d HHomMat3D, HTupleHTupleHtuple (real) (double) (double) (double)

Output transformation matrix.

Result

hom_mat3d_inverthom_mat3d_invertHomMat3dInvertHomMat3dInvertHomMat3dInvert 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_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslate, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocal, hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScale, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocal, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotate, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocal, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3d

Possible Successors

hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslate, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocal, hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScale, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocal, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotate, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocal, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPose

Alternatives

pose_invertpose_invertPoseInvertPoseInvertPoseInvert, dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugateDualQuatConjugate

See also

affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3d, hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentityHomMat3dIdentity, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotate, hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslate, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3d, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPose, hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dCompose

Module

Foundation


ClassesClasses | | Operators