hom_mat3d_translate_local ( : : HomMat3D, Tx, Ty, Tz : HomMat3DTranslate )

Add a translation to a homogeneous 3D transformation matrix.

hom_mat3d_translate_local adds a translation by the vector t = (Tx,Ty,Tz) to the homogeneous 3D transformation matrix HomMat3D and returns the resulting matrix in HomMat3DTranslate. In contrast to hom_mat3d_translate, the translation is performed relative to the local coordinate system, i.e., the coordinate system described by HomMat3D; this corresponds to the following chain of transformation matrices:

                                   / 1 0 0    \         / Tx \
  HomMat3DTranslate  =  HomMat3D * | 0 1 0  t |     t = | Ty |
                                   | 0 0 1    |         \ Tz /
                                   \ 0 0 0  1 /


Attention

Note that homogeneous matrices are stored row-by-row as a tuple; the last row is not stored because it is identical for all homogeneous matrices that describe an affine transformation. For example, the homogeneous matrix

    / ra rb rc td \
    | re rf rg th |
    | ri rj rk tl |
    \ 0  0  0  1  /

is stored as the tuple [ra, rb, rc, td, re, rf, rg, th, ri, rj, rk, tl].


Parameters

HomMat3D (input_control)
hom_mat3d-array -> real
Input transformation matrix.

Tx (input_control)
point3d.x -> real / integer
Translation along the x-axis.
Default value: 64
Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024

Ty (input_control)
point3d.y -> real / integer
Translation along the y-axis.
Default value: 64
Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024

Tz (input_control)
point3d.z -> real / integer
Translation along the z-axis.
Default value: 64
Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024

HomMat3DTranslate (output_control)
hom_mat3d-array -> real
Output transformation matrix.


Result

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


Parallelization Information

hom_mat3d_translate_local is reentrant and processed without parallelization.


Possible Predecessors

hom_mat3d_identity, hom_mat3d_translate_local, hom_mat3d_scale_local, hom_mat3d_rotate_local


Possible Successors

hom_mat3d_translate_local, hom_mat3d_scale_local, hom_mat3d_rotate_local


See also

hom_mat3d_invert, hom_mat3d_identity, hom_mat3d_translate, pose_to_hom_mat3d, hom_mat3d_to_pose, hom_mat3d_compose


Module

Foundation



Copyright © 1996-2008 MVTec Software GmbH