rotate_region1 ( Region : RegionRotate : CenterRow, CenterCol, Phi, Factor : )

Rotate and scale a region.

rotate_region1 rotates the region given in Region counter-clockwise by an angle of Phi. Furthermore, it is scaled by a scale factor of Factor. In both cases, the fixed point of the transformation is (CenterRow,CenterCol).


Attention

rotate_region1 in general is not invertible (clipping and discretization during rotation and scaling).


Parameters

Region (input_object)
region(-array) -> object
Region to be rotated and scaled.

RegionRotate (output_object)
region(-array) -> object
Transformed output region.
Number of elements: RegionRotate == Region

CenterRow (input_control)
point.y -> integer
Row coordinate of the transformation center.
Default value: 256
Suggested values: 10, 50, 100, 200, 256, 300, 400, 512, 600, 800
Range of values: 0 <= CenterRow <= 1024 (lin)
Minimum increment: 1
Recommended increment: 10

CenterCol (input_control)
point.x -> integer
Column coordinate of the transformation center.
Default value: 256
Suggested values: 10, 50, 100, 200, 256, 300, 400, 512, 600, 800
Range of values: 0 <= CenterCol <= 1024 (lin)
Minimum increment: 1
Recommended increment: 10

Phi (input_control)
angle.rad -> real
Rotation angle (in radians).
Default value: 1.5
Suggested values: -3.1415, -2.3462, -1.57079, -0.78539, 0, 0.78539, 1.57079, 2.3462, 3.1415
Range of values: -3.14156 <= Phi <= 3.14156 (lin)
Minimum increment: 0.0001
Recommended increment: 0.05

Factor (input_control)
real -> real
Scale factor.
Default value: 1.0
Suggested values: 0.01, 0.05, 0.1, 0.2, 0.3, 0.5, 0.7, 1.0, 2.5, 4.0, 6.0, 10.0, 20.0
Range of values: 0.0 <= Factor <= 100.0 (lin)
Minimum increment: 0.0001
Recommended increment: 0.1
Restriction: Factor > 0.0


Result

rotate_region1 returns TRUE if all parameters are correct. The behavior in case of empty input (no regions given) can be set via set_system(::'no_object_result',<Result>:), the behavior in case of an empty input region via set_system(::'empty_region_result',<Result>:), and the behavior in case of an empty result region via set_system(::'store_empty_region',<true/false>:). If necessary, an exception is raised.


Possible Predecessors

threshold__, connection, regiongrowing__, pouring


Possible Successors

select_shape, disp_region


Alternatives

rotate_region2


See also

move, image_transform__, zoom_region



Copyright © 1996-1997 MVTec Software GmbH