hom_mat_invert ( : : HomTransMatOrg : HomTransMatInv )

Invert transformation matrix.

hom_mat_invert is used to invert a 4x3 transformation matrix HomTransMatOrg,i.e., the inverted transformation matrix HomTransMatInv describes the transformation from the original destination coordinate system to the original source coordinate system. The transformation of a 3D point (given in the source coordinate system) into a destination coordinate system ist given by a rotation R and a translation T (see hom_3d_trans). Thus, the following holds:

/ x2 \         / x1 \
| y2 | = R_org | y1 | + T_org
\ z2 /         \ z1 /

/ x1 \       -1  / / x1 \         \
| y1 | = R_org   | | y1 | - T_org |
\ z1 /           \ \ z1 /         /
                 -1
with R_inv = R_org   and T_inv = - T_org:

/ x1 \         / x2 \
| y1 | = R_inv | y2 | + T_inv
\ z1 /         \ z2 /


Parameters

HomTransMatOrg (input_control)
affin3d-array -> real
Original transformation matrix.
Number of elements: 12

HomTransMatInv (output_control)
affin3d-array -> real
Inverted transformation matrix.
Number of elements: 12


Example
/* read camera pose */
read_cam_pose(::'campose.dat':CamPose) >
/* transform pose to transformation matrix */
pose_to_hom_mat(::CamPose:HomTransMat) >
/* invert transformation matrix */
hom_mat_invert(::HomTransMat:HomTransMatInv).

Result

hom_mat_invert returns TRUE if all parameter values are correct.


Possible Predecessors

pose_to_hom_mat


Possible Successors

hom_3d_trans, hom_mat_to_pose, hom_mat_rot, hom_mat_translate, hom_mat_mult, hom_mat_values


See also

hom_3d_trans, hom_mat_ident, hom_mat_rot, hom_mat_translate, pose_to_hom_mat, hom_mat_to_pose, hom_mat_mult, hom_mat_values



Copyright © 1996-1997 MVTec Software GmbH