`prev Menu next`

PICTURE Definition☆
A PICTURE definition is a variation of a subprogram.
A PICTURE definition can be transformed on invocation.
Use a DRAW statement to invoke a picture.
To define a picture, use EXTERNAL PICTURE, or, internal PICTURE definition syntax.
IF 'tulip' is defined as a picture,
`DRAW tulip`
executes the picture 'tulip'.
Transformation of a picture
DRAW Statements can be provided with a transformation.
Example.
`DRAW tulip WITH SCALE(2)`
executes 'tulip' with the coordinate multiplied by 2.
That is, 'tulip' is enlarged 2 times of center the origin.
Transform functions

SHIFT(a,b) | Moves horizontally a units, vertically b units.
SCALE(a,b) | Enlarges horizontally a times，vertically b times.
SCALE(a) | Enlarges a times of center the origin
ROTATE(a) | Rotates by a of center the origin.
SHEAR(a) | Inclines horizontally by a. That is, (x, y) →(x + y tan a, y)

Composition of Transformations
Transform functions can be composed with *. Composition is made from left to right.
Example.
`DRAW tulip WITH SHIFT(1,0) * SCALE(2)`
Scaling shall be executed after translation.
[Note]
The beam is set off when entering and exiting of a picture definition.
Refer to PLOT LINES

[Note]
Transformation performed by a DRAW statement affects only PLOT, GET, DRAW statements, original enhancements PAINT, FLOOD, and MOUSE POLL.
No other statemets are affected by transformation.