Skip to content

hom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_localT_hom_mat3d_translate_local🔗

Short description🔗

hom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_localT_hom_mat3d_translate_local — Add a translation to a homogeneous 3D transformation matrix.

Signature🔗

hom_mat3d_translate_local( hom_mat3d HomMat3D, point3d.x Tx, point3d.y Ty, point3d.z Tz, out hom_mat3d HomMat3DTranslate )void HomMat3dTranslateLocal( const HTuple& HomMat3D, const HTuple& Tx, const HTuple& Ty, const HTuple& Tz, HTuple* HomMat3DTranslate )static void HOperatorSet.HomMat3dTranslateLocal( HTuple homMat3D, HTuple tx, HTuple ty, HTuple tz, out HTuple homMat3DTranslate )def hom_mat3d_translate_local( hom_mat_3d: Sequence[float], tx: Union[float, int], ty: Union[float, int], tz: Union[float, int] ) -> Sequence[float]

Herror T_hom_mat3d_translate_local( const Htuple HomMat3D, const Htuple Tx, const Htuple Ty, const Htuple Tz, Htuple* HomMat3DTranslate )

HHomMat3D HHomMat3D::HomMat3dTranslateLocal( const HTuple& Tx, const HTuple& Ty, const HTuple& Tz ) const

HHomMat3D HHomMat3D::HomMat3dTranslateLocal( double Tx, double Ty, double Tz ) const

HHomMat3D HHomMat3D.HomMat3dTranslateLocal( HTuple tx, HTuple ty, HTuple tz )

HHomMat3D HHomMat3D.HomMat3dTranslateLocal( double tx, double ty, double tz )

Description🔗

hom_mat3d_translate_localHomMat3dTranslateLocal adds a translation by the vector t = (Txtxtx,Tytyty,Tztztz) to the homogeneous 3D transformation matrix HomMat3DhomMat3Dhom_mat_3d and returns the resulting matrix in HomMat3DTranslatehomMat3DTranslatehom_mat_3dtranslate. In contrast to hom_mat3d_translateHomMat3dTranslate, the translation is performed relative to the local coordinate system, i.e., the coordinate system described by HomMat3DhomMat3Dhom_mat_3d; this corresponds to the following chain of transformation matrices:

\[\begin{eqnarray*} \textrm{HomMat3DTranslate} = \textrm{HomMat3D} \cdot \mvHomMatrixThreeDRotTrans{ \mvMatrixPlain{1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1}}{ \mvTranslationVectorVar{}{}} \qquad \mvTranslationVectorVar{}{} = \mvVectorThreeD{\textrm{Tx}}{\textrm{Ty}}{\textrm{Tz}} \end{eqnarray*}\]

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 \(\mvHomMatrixThreeDElements{ ra & rb & rc & td \\ re & rf & rg & th \\ ri & rj & rk & tl}\) 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🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

Parameters🔗

HomMat3DhomMat3Dhom_mat_3d (input_control) hom_mat3d → (real)HTuple (double)HHomMat3D, HTuple (double)Sequence[float]Htuple (double)

Input transformation matrix.

Txtxtx (input_control) point3d.x → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[float, int]Htuple (double / Hlong)

Translation along the x-axis.

Default: 6464
Suggested values: 0, 16, 32, 64, 128, 256, 512, 10240, 16, 32, 64, 128, 256, 512, 1024

Tytyty (input_control) point3d.y → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[float, int]Htuple (double / Hlong)

Translation along the y-axis.

Default: 6464
Suggested values: 0, 16, 32, 64, 128, 256, 512, 10240, 16, 32, 64, 128, 256, 512, 1024

Tztztz (input_control) point3d.z → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[float, int]Htuple (double / Hlong)

Translation along the z-axis.

Default: 6464
Suggested values: 0, 16, 32, 64, 128, 256, 512, 10240, 16, 32, 64, 128, 256, 512, 1024

HomMat3DTranslatehomMat3DTranslatehom_mat_3dtranslate (output_control) hom_mat3d → (real)HTuple (double)HHomMat3D, HTuple (double)Sequence[float]Htuple (double)

Output transformation matrix.

Result🔗

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

Combinations with other operators🔗

Combinations

Possible predecessors

hom_mat3d_identityHomMat3dIdentity, hom_mat3d_translate_localHomMat3dTranslateLocal, hom_mat3d_scale_localHomMat3dScaleLocal, hom_mat3d_rotate_localHomMat3dRotateLocal

Possible successors

hom_mat3d_translate_localHomMat3dTranslateLocal, hom_mat3d_scale_localHomMat3dScaleLocal, hom_mat3d_rotate_localHomMat3dRotateLocal

See also

hom_mat3d_invertHomMat3dInvert, hom_mat3d_identityHomMat3dIdentity, hom_mat3d_translateHomMat3dTranslate, pose_to_hom_mat3dPoseToHomMat3d, hom_mat3d_to_poseHomMat3dToPose, hom_mat3d_composeHomMat3dCompose

Module🔗

Foundation