絵定義

絵定義は副プログラムとほとんど同じものであるが,
実行時に変形が可能という特徴がある。
絵定義を呼び出すのには,CALL文の替わりにDRAW文を用いる。
絵を定義するときには,外部絵定義,あるいは,内部絵定義を用いる。
定義済みの絵tulipがあるとき,
DRAW tulip
とすれば,絵定義tulipが実行される。

絵の変形
DRAW文には,WITHを用いて変形を指示することができる。

DRAW tulip WITH SCALE(2)
を実行すると,tulipが実行されるとき,座標値がすべて2倍される。
すなわち,もとの図形に対して2倍に拡大して描かれる。
変形関数
DRAW文では次の変形が可能
SHIFT(a,b)  x軸方向にa,y軸方向にbだけ平行移動する。
SCALE(a,b)  x軸方向にa倍,y軸方向にb倍に拡大する。
SCALE(a)   原点を中心としてa倍に拡大する。
ROTATE(a)  原点を中心としてaだけ回転する
SHEAR(a)   水平方向にaだけ傾ける。 (x, y)→(x + y tan a, y)


変換の合成
変換関数を*で合成して用いることができる。合成の順序は左から右へ。
例 DRAW tulip WITH SHIFT(1,0) * SCALE(2)
    平行移動した後,拡大する。

<Note>
 絵定義に入るときと絵定義から出るとき,描点(beam)の状態がoffになる。
 参照 PLOT LINES

<Note>  Draw文による図形変換の対象となる描画命令は,PLOT文,GET文,DRAW文,および,独自拡張のPAINT, FLOOD, MOUSE POLLの各文のみ。
 参考 十進BASIC Q&A 描画命令が依存する座標系と図形変形の効果