.BG
.FN spin
.TL
Dynamic Point Cloud Rotation
.CS
spin(data, scale=TRUE)
.AG data
matrix with 3 columns, giving x, y, and z coordinates for a set of points
in 3-space.
.AG scale
logical, if `TRUE', each column is independently
scaled to range from `-1' to `1'.
If `scale' is `FALSE', the data are assumed to be scaled to the range
`-1' to `1' by the user.
The data are then subjected to rigid rotation, hence differences in
scaling among the columns will represent different sizes in the x, y, and z
directions.
.SH EXECUTION
While the point cloud is spinning, the following characters may be typed
at the keyboard to alter the dynamics:
.IP x,y,x
spinning is about the x, y, or z axes.
The x-axis extends horizontally to the right, y extends from the display
screen toward the user, and z extends upward in the plane of the screen.
Initial rotation is about the z axis.
.IP \-
reverse the direction of spinning about the current axis.
.IP >,<
Increase (decrease) the speed of spinning by computing increasing (decreasing)
the angle between views.
Caution:  the picture is computed by an approximation algorithm which
breaks down for large angles.
.IP h
Hold the current view.  When pressed again, rotation continues.
.IP r
Reverse video.  The picture is initially black on white.
.IP l,s
Make the points larger (smaller).
.PP
The `spin' function can only be used with a Teletype 5620 or
AT&T 630 terminal.
.EX
spin(xyz)
.KW hplot
.KW iplot
.WR
