Herror ::hom_mat3d_scale (
    const HTuple &HomMat3D,
    const HTuple &Sx,
    const HTuple &Sy,
    const HTuple &Sz,
    const HTuple &Px,
    const HTuple &Py,
    const HTuple &Pz,
    HTuple *HomMat3DScale
)

Add a scaling to a homogeneous 3D transformation matrix.

::hom_mat3d_scale adds a scaling by the scale factors Sx and Sy to a homogeneous 3D transformation matrix HomMat3D. The point (Px,Py,Pz) is the fixed point of the transformation. The resulting matrix is returned in HomMat3DScale.


Parameters

HomMat3D (input_control)
affine3d-array -> HTuple.double
Input transformation matrix.
Number of elements: 12

Sx (input_control)
number -> HTuple.double / long
Scale factor along the x-axis.
Default value: 2
Suggested values: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112
Typical range of values: 0 <= Sx <= 1024
Minimum increment: 0.001
Recommended increment: 0.125
Restriction: Sx != 0

Sy (input_control)
number -> HTuple.double / long
Scale factor along the y-axis.
Default value: 2
Suggested values: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112
Typical range of values: 0 <= Sy <= 1024
Minimum increment: 0.001
Recommended increment: 0.125
Restriction: Sy != 0

Sz (input_control)
number -> HTuple.double / long
Scale factor along the z-axis.
Default value: 2
Suggested values: 0.125, 0.25, 0.5, 1, 2, 4, 8, 112
Typical range of values: 0 <= Sz <= 1024
Minimum increment: 0.001
Recommended increment: 0.125
Restriction: Sz != 0

Px (input_control)
point3d.x -> HTuple.double / long
Fixed point of the transformation (x coordinate).
Default value: 0
Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024
Typical range of values: 0 <= Px <= 1024
Minimum increment: 1
Recommended increment: 10

Py (input_control)
point3d.y -> HTuple.double / long
Fixed point of the transformation (y coordinate).
Default value: 0
Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024
Typical range of values: 0 <= Py <= 1024
Minimum increment: 1
Recommended increment: 10

Pz (input_control)
point3d.z -> HTuple.double / long
Fixed point of the transformation (z coordinate).
Default value: 0
Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024
Typical range of values: 0 <= Pz <= 1024
Minimum increment: 1
Recommended increment: 10

HomMat3DScale (output_control)
affine3d-array -> HTuple.double *
Output transformation matrix.
Number of elements: 12


Result

::hom_mat3d_scale returns H_MSG_TRUE if all three scale factors are not 0.


Possible Predecessors

::hom_mat3d_identity, ::hom_mat3d_translate, ::hom_mat3d_scale, ::hom_mat3d_rotate


Possible Successors

::hom_mat3d_translate, ::hom_mat3d_scale, ::hom_mat3d_rotate


Module

Basic operators



Copyright © 1996-2002 MVTec Software GmbH