hom_mat3d_scale_local T_hom_mat3d_scale_local HomMat3dScaleLocal HomMat3dScaleLocal hom_mat3d_scale_local (Operator)
Name
hom_mat3d_scale_local T_hom_mat3d_scale_local HomMat3dScaleLocal HomMat3dScaleLocal hom_mat3d_scale_local — Add a scaling to a homogeneous 3D transformation matrix.
Signature
def hom_mat3d_scale_local (hom_mat_3d : Sequence[float], sx : Union[float, int], sy : Union[float, int], sz : Union[float, int]) -> Sequence[float]
Description
hom_mat3d_scale_local hom_mat3d_scale_local HomMat3dScaleLocal HomMat3dScaleLocal HomMat3dScaleLocal hom_mat3d_scale_local adds a scaling by the scale factors
Sx Sx Sx Sx sx sx , Sy Sy Sy Sy sy sy , and Sz Sz Sz Sz sz sz to the homogeneous 3D
transformation matrix HomMat3D HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d and returns the resulting matrix in
HomMat3DScale HomMat3DScale HomMat3DScale HomMat3DScale homMat3DScale hom_mat_3dscale . The scaling is described by a 3×3
scaling matrix S. In contrast to
hom_mat3d_scale hom_mat3d_scale HomMat3dScale HomMat3dScale HomMat3dScale hom_mat3d_scale , it is performed relative to the local coordinate
system, i.e., the coordinate system described by HomMat3D HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d ; 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 HomMat3DScale HomMat3DScale HomMat3DScale homMat3DScale hom_mat_3dscale .
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 HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d (input_control) hom_mat3d → HHomMat3D , HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Input transformation matrix.
Sx Sx Sx Sx sx sx (input_control) number → HTuple Union[float, int] HTuple Htuple (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
Sy Sy Sy Sy sy sy (input_control) number → HTuple Union[float, int] HTuple Htuple (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
Sz Sz Sz Sz sz sz (input_control) number → HTuple Union[float, int] HTuple Htuple (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
HomMat3DScale HomMat3DScale HomMat3DScale HomMat3DScale homMat3DScale hom_mat_3dscale (output_control) hom_mat3d → HHomMat3D , HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Output transformation matrix.
Result
hom_mat3d_scale_local hom_mat3d_scale_local HomMat3dScaleLocal HomMat3dScaleLocal HomMat3dScaleLocal hom_mat3d_scale_local returns TRUE if all three scale
factors are not 0. If necessary, an exception is raised.
Possible Predecessors
hom_mat3d_identity hom_mat3d_identity HomMat3dIdentity HomMat3dIdentity HomMat3dIdentity hom_mat3d_identity ,
hom_mat3d_translate_local hom_mat3d_translate_local HomMat3dTranslateLocal HomMat3dTranslateLocal HomMat3dTranslateLocal hom_mat3d_translate_local ,
hom_mat3d_scale_local hom_mat3d_scale_local HomMat3dScaleLocal HomMat3dScaleLocal HomMat3dScaleLocal hom_mat3d_scale_local ,
hom_mat3d_rotate_local hom_mat3d_rotate_local HomMat3dRotateLocal HomMat3dRotateLocal HomMat3dRotateLocal hom_mat3d_rotate_local
Possible Successors
hom_mat3d_translate_local hom_mat3d_translate_local HomMat3dTranslateLocal HomMat3dTranslateLocal HomMat3dTranslateLocal hom_mat3d_translate_local ,
hom_mat3d_scale_local hom_mat3d_scale_local HomMat3dScaleLocal HomMat3dScaleLocal HomMat3dScaleLocal hom_mat3d_scale_local ,
hom_mat3d_rotate_local hom_mat3d_rotate_local HomMat3dRotateLocal HomMat3dRotateLocal HomMat3dRotateLocal hom_mat3d_rotate_local
See also
hom_mat3d_invert hom_mat3d_invert HomMat3dInvert HomMat3dInvert HomMat3dInvert hom_mat3d_invert ,
hom_mat3d_identity hom_mat3d_identity HomMat3dIdentity HomMat3dIdentity HomMat3dIdentity hom_mat3d_identity ,
hom_mat3d_scale hom_mat3d_scale HomMat3dScale HomMat3dScale HomMat3dScale hom_mat3d_scale ,
pose_to_hom_mat3d pose_to_hom_mat3d PoseToHomMat3d PoseToHomMat3d PoseToHomMat3d pose_to_hom_mat3d ,
hom_mat3d_to_pose hom_mat3d_to_pose HomMat3dToPose HomMat3dToPose HomMat3dToPose hom_mat3d_to_pose ,
hom_mat3d_compose hom_mat3d_compose HomMat3dCompose HomMat3dCompose HomMat3dCompose hom_mat3d_compose
Module
Foundation