HALCON Reference Manual 10.0.2
Table of Contents / Transformations / 3D Transformations ClassesClassesClasses | | | Operators

hom_mat3d_composeT_hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dCompose (Operator)

Name

hom_mat3d_composeT_hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dCompose — Multiply two homogeneous 3D transformation matrices.

Signature

hom_mat3d_compose( : : HomMat3DLeft, HomMat3DRight : HomMat3DCompose)

Herror T_hom_mat3d_compose(const Htuple HomMat3DLeft, const Htuple HomMat3DRight, Htuple* HomMat3DCompose)

Herror hom_mat3d_compose(const HTuple& HomMat3DLeft, const HTuple& HomMat3DRight, HTuple* HomMat3DCompose)

void HOperatorSetX.HomMat3dCompose(
[in] VARIANT HomMat3dLeft, [in] VARIANT HomMat3dRight, [out] VARIANT* HomMat3dCompose)

IHHomMat3DX* HHomMat3DX.HomMat3dCompose([in] IHHomMat3DX* HomMat3dRight)

static void HOperatorSet.HomMat3dCompose(HTuple homMat3DLeft, HTuple homMat3DRight, out HTuple homMat3DCompose)

HHomMat3D HHomMat3D.HomMat3dCompose(HHomMat3D homMat3DRight)

Description

hom_mat3d_composehom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dCompose composes a new 3D transformation matrix by multiplying the two input matrices:

  HomMat3DComposeHomMat3DComposeHomMat3DComposeHomMat3DComposehomMat3DCompose = HomMat3DLeftHomMat3DLeftHomMat3DLeftHomMat3DLefthomMat3DLeft * HomMat3DRightHomMat3DRightHomMat3DRightHomMat3DRighthomMat3DRight

For example, if the two input matrices correspond to rigid transformations, i.e., to transformations consisting of a rotation and a translation, the resulting matrix is calculated as follows:

  HomMat3DComposeHomMat3DComposeHomMat3DComposeHomMat3DComposehomMat3DCompose  =  | R(l)  t(l) |  *  | R(r)  t(r) |
                      | 0 0 0  1   |     | 0 0 0  1   |

                   =  | R(l)*R(r)  R(l)*t(r)+t(l) |
                      |  0 0 0           1        |

Parallelization

Parameters

HomMat3DLeftHomMat3DLeftHomMat3DLeftHomMat3DLefthomMat3DLeft (input_control)  hom_mat3d-array HHomMat3D, HTupleHTupleHHomMat3DX, VARIANTHtuple (real) (double) (double) (double) (double)

Left input transformation matrix.

HomMat3DRightHomMat3DRightHomMat3DRightHomMat3DRighthomMat3DRight (input_control)  hom_mat3d-array HHomMat3D, HTupleHTupleHHomMat3DX, VARIANTHtuple (real) (double) (double) (double) (double)

Right input transformation matrix.

HomMat3DComposeHomMat3DComposeHomMat3DComposeHomMat3DComposehomMat3DCompose (output_control)  hom_mat3d-array HHomMat3D, HTupleHTupleHHomMat3DX, VARIANTHtuple (real) (double) (double) (double) (double)

Output transformation matrix.

Result

If the parameters are valid, the operator hom_mat3d_composehom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dCompose returns 2 (H_MSG_TRUE). If necessary, an exception is raised.

Possible Predecessors

hom_mat3d_composehom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dCompose, hom_mat3d_translatehom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslate, hom_mat3d_translate_localhom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocal, hom_mat3d_scalehom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScale, hom_mat3d_scale_localhom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal, hom_mat3d_rotatehom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotate, hom_mat3d_rotate_localhom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocal, pose_to_hom_mat3dpose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3d

Possible Successors

hom_mat3d_translatehom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslate, hom_mat3d_translate_localhom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocal, hom_mat3d_scalehom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScale, hom_mat3d_scale_localhom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal, hom_mat3d_rotatehom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotate, hom_mat3d_rotate_localhom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocal

See also

affine_trans_point_3daffine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d, hom_mat3d_identityhom_mat3d_identityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentity, hom_mat3d_rotatehom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotate, hom_mat3d_translatehom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslate, pose_to_hom_mat3dpose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3d, hom_mat3d_to_posehom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPose

Module

Foundation


Table of Contents / Transformations / 3D Transformations ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH