絵定義 ☆
絵定義は副プログラムとほとんど同じものであるが,
実行時に変形が可能という特徴がある。
絵定義を呼び出すのには,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
描画命令が依存する座標系と図形変形の効果