Rotates a point pattern (W. van den Berg).
Options
ANGLE = scalar |
Angle, in degrees over which the point pattern is to be rotated; no default – must be set |
---|---|
HUB = string token |
Whether the point pattern is to be rotated around the origin or around the centroid (origin , centroid ); default orig |
Parameters
OLDY = variates |
Vertical coordinates of each spatial point pattern |
---|---|
OLDX = variates |
Horizontal coordinates of each spatial point pattern |
NEWY = variates |
Save the vertical coordinates of the rotated point patterns; if this unset, these replace the original values in OLDY |
NEWX = variates |
Save the horizontal coordinates of the rotated point patterns; if this unset, these replace the original values in OLDX |
ROTATION = matrices |
Save the rotation matrices |
Description
PTROTATE
rotates a point pattern. The vertical and horizontal coordinates must be supplied as variates using the parameters OLDY
and OLDX
. The angle over which the point pattern must be rotated must be supplied, in degrees, by the ANGLE
option. When a positive angle is supplied the rotation is clockwise. A negative number results in a counter clockwise rotation. By default the rotation is around the origin, but you can set option HUB=centroid
to perform the rotation around the centroid of the point pattern.
The vertical coordinates of the rotated pattern can be saved, in a variate, using the NEWY
parameter; if this is unset, the rotated pattern replaces the original pattern in OLDY
. Similarly, the horizontal coordinates can be saved using the NEWX
parameter, or in the original variate supplied by OLDX
. The rotation matrix can be saved using the ROTATION
parameter.
Options: ANGLE
, HUB
.
Parameters: OLDY
, OLDX
, NEWY
, NEWX
, ROTATION
.
Method
A matrix is formed with 2 columns consisting of the coordinates supplied to parameters OLDY
and OLDX
. This matrix is post-multiplied by a 2×2 matrix, containing COS(ANGLE)
on the diagonal, and plus and minus SIN(ANGLE)
in the upper-right and lower-left cells.
Action with RESTRICT
Any restrictions on OLDX
and OLDY
are removed.
See also
Directive: ROTATE
.
Commands for: Spatial statistics.
Example
CAPTION 'PTROTATE example'; STYLE=meta VARIATE [NVALUES=100] x,y CALCULATE y,x = URAND (910818; 100) PTROTATE [ANGLE=30; HUB=centroid] y; OLDX=x; NEWY=ycentroid; NEWX=xcentroid PTROTATE [ANGLE=-180] y; OLDX=x; NEWY=yorigin; NEWX=xorigin PRINT y,x,ycentroid,xcentroid,yorigin,xorigin DGRAPH y, ycentroid, yorigin; x, xcentroid, xorigin