Operator Reference
hom_mat3d_scale_local (Operator)
hom_mat3d_scale_local — Add a scaling to a homogeneous 3D transformation matrix.
Signature
hom_mat3d_scale_local( : : HomMat3D, Sx, Sy, Sz : HomMat3DScale)
Description
hom_mat3d_scale_local adds a scaling by the scale factors
Sx, Sy, and Sz to the homogeneous 3D
transformation matrix HomMat3D and returns the resulting matrix in
HomMat3DScale. The scaling is described by a 3×3
scaling matrix S. In contrast to
hom_mat3d_scale, it 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:
The fixed point of the transformation is the origin of the local
coordinate system, i.e., this point remains unchanged when
transformed using HomMat3DScale.
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 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
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
HomMat3D (input_control) hom_mat3d → (real)
Input transformation matrix.
Sx (input_control) number → (real / integer)
Scale factor along the x-axis.
Default: 2
Suggested values: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112
Restriction:
Sx != 0
Sy (input_control) number → (real / integer)
Scale factor along the y-axis.
Default: 2
Suggested values: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112
Restriction:
Sy != 0
Sz (input_control) number → (real / integer)
Scale factor along the z-axis.
Default: 2
Suggested values: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112
Restriction:
Sz != 0
HomMat3DScale (output_control) hom_mat3d → (real)
Output transformation matrix.
Result
hom_mat3d_scale_local returns 2 (
H_MSG_TRUE)
if all three scale
factors are not 0. If necessary, an exception is raised.
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_scale,
pose_to_hom_mat3d,
hom_mat3d_to_pose,
hom_mat3d_compose
Module
Foundation