Name
hom_mat3d_scale_localT_hom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal — Add a scaling to a homogeneous 3D transformation matrix.
hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocal adds a scaling by the scale factors
SxSxSxSxsx, SySySySysy, and SzSzSzSzsz to the homogeneous 3D
transformation matrix HomMat3DHomMat3DHomMat3DHomMat3DhomMat3D and returns the resulting matrix in
HomMat3DScaleHomMat3DScaleHomMat3DScaleHomMat3DScalehomMat3DScale. The scaling is described by a 3×3
scaling matrix S. In contrast to
hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScale, it is performed relative to the local coordinate
system, i.e., the coordinate system described by HomMat3DHomMat3DHomMat3DHomMat3DhomMat3D; this
corresponds to the following chain of transformation matrices:
The fixed point of the transformation is the origin of the local
coordinate system, i.e., this point remains unchanged when
transformed using HomMat3DScaleHomMat3DScaleHomMat3DScaleHomMat3DScalehomMat3DScale.
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
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.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Input transformation matrix.
SxSxSxSxsx (input_control) number → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Scale factor along the x-axis.
Default value: 2
Suggested values: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112
Restriction: Sx != 0
SySySySysy (input_control) number → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Scale factor along the y-axis.
Default value: 2
Suggested values: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112
Restriction: Sy != 0
SzSzSzSzsz (input_control) number → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Scale factor along the z-axis.
Default value: 2
Suggested values: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112
Restriction: Sz != 0
Output transformation matrix.
hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocal returns 2 (H_MSG_TRUE) if all three scale
factors are not 0. If necessary, an exception is raised.
hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentityHomMat3dIdentity,
hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocal,
hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocal,
hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocal
hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocal,
hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocal,
hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocal
hom_mat3d_inverthom_mat3d_invertHomMat3dInvertHomMat3dInvertHomMat3dInvert,
hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentityHomMat3dIdentity,
hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScale,
pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3d,
hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPose,
hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dCompose
Foundation