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 /
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 |
/* 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).
hom_mat_invert returns TRUE if all parameter values are correct.
hom_3d_trans, hom_mat_to_pose, hom_mat_rot, hom_mat_translate, hom_mat_mult, hom_mat_values
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