ClassesClassesClassesClasses | | | | Operators

hom_mat3d_scale_localT_hom_mat3d_scale_localHomMat3dScaleLocalhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal (Operator)


hom_mat3d_scale_localT_hom_mat3d_scale_localHomMat3dScaleLocalhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal — Add a scaling to a homogeneous 3D transformation matrix.


hom_mat3d_scale_local( : : HomMat3D, Sx, Sy, Sz : HomMat3DScale)

Herror T_hom_mat3d_scale_local(const Htuple HomMat3D, const Htuple Sx, const Htuple Sy, const Htuple Sz, Htuple* HomMat3DScale)

Herror hom_mat3d_scale_local(const HTuple& HomMat3D, const HTuple& Sx, const HTuple& Sy, const HTuple& Sz, HTuple* HomMat3DScale)

void HomMat3dScaleLocal(const HTuple& HomMat3D, const HTuple& Sx, const HTuple& Sy, const HTuple& Sz, HTuple* HomMat3DScale)

HHomMat3D HHomMat3D::HomMat3dScaleLocal(const HTuple& Sx, const HTuple& Sy, const HTuple& Sz) const

HHomMat3D HHomMat3D::HomMat3dScaleLocal(double Sx, double Sy, double Sz) const

void HOperatorSetX.HomMat3dScaleLocal(
[in] VARIANT HomMat3d, [in] VARIANT Sx, [in] VARIANT Sy, [in] VARIANT Sz, [out] VARIANT* HomMat3dScale)

IHHomMat3DX* HHomMat3DX.HomMat3dScaleLocal(
[in] VARIANT Sx, [in] VARIANT Sy, [in] VARIANT Sz)

static void HOperatorSet.HomMat3dScaleLocal(HTuple homMat3D, HTuple sx, HTuple sy, HTuple sz, out HTuple homMat3DScale)

HHomMat3D HHomMat3D.HomMat3dScaleLocal(HTuple sx, HTuple sy, HTuple sz)

HHomMat3D HHomMat3D.HomMat3dScaleLocal(double sx, double sy, double sz)


hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal adds a scaling by the scale factors SxSxSxSxSxsx, SySySySySysy, and SzSzSzSzSzsz to the homogeneous 3D transformation matrix HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D and returns the resulting matrix in HomMat3DScaleHomMat3DScaleHomMat3DScaleHomMat3DScaleHomMat3DScalehomMat3DScale. The scaling is described by a 3×3 scaling matrix S. In contrast to hom_mat3d_scalehom_mat3d_scaleHomMat3dScalehom_mat3d_scaleHomMat3dScaleHomMat3dScale, it is performed relative to the local coordinate system, i.e., the coordinate system described by HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D; this corresponds to the following chain of transformation matrices:

                             /        0 \          / Sx 0  0  \
  HomMat3DScale = HomMat3D * |   S    0 |      S = | 0  Sy 0  |
                             |        0 |          \ 0  0  Sz /
                             \ 0 0 0  1 /

The fixed point of the transformation is the origin of the local coordinate system, i.e., this point remains unchanged when transformed using HomMat3DScaleHomMat3DScaleHomMat3DScaleHomMat3DScaleHomMat3DScalehomMat3DScale.


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

    / 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]. However, it is also possible to process full 4×4 matrices, which represent a projective 4D transformation.



HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D (input_control)  hom_mat3d HHomMat3D, HTupleHTupleHTupleHHomMat3DX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Input transformation matrix.

SxSxSxSxSxsx (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (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

SySySySySysy (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (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

SzSzSzSzSzsz (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (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

HomMat3DScaleHomMat3DScaleHomMat3DScaleHomMat3DScaleHomMat3DScalehomMat3DScale (output_control)  hom_mat3d HHomMat3D, HTupleHTupleHTupleHHomMat3DX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Output transformation matrix.


hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal returns 2 (H_MSG_TRUE) if all three scale factors are not 0. If necessary, an exception is raised.

Possible Predecessors

hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentity, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocal, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocal

Possible Successors

hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocal, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocal

See also

hom_mat3d_inverthom_mat3d_invertHomMat3dInverthom_mat3d_invertHomMat3dInvertHomMat3dInvert, hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentity, hom_mat3d_scalehom_mat3d_scaleHomMat3dScalehom_mat3d_scaleHomMat3dScaleHomMat3dScale, pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3d, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPosehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPose, hom_mat3d_composehom_mat3d_composeHomMat3dComposehom_mat3d_composeHomMat3dComposeHomMat3dCompose



ClassesClassesClassesClasses | | | | Operators