線を描く ☆☆☆


 BASICの線を描く命令の動作は,描点の移動と描点のon,offの2つの概念に基づいて規定される。描点はXYプロッタのペンに相当し,描点のon,offはペンの上下に相当する。

 描点がonの状態で描点を移動すると,移動経路に沿って線分が描かれる。描点がoffであるときに描点を移動しても何も描かれない。

 描点がonになった後,描点が移動する前に描点がoffになったときの動作について規格では何も規定されていないが,本BASICでは,その場合には1点を描くようにしている(XYプロッタのペンが下りて紙に接したと解釈)。

 プログラムの実行開始時の描点の状態はoffとなっている。

PLOT LINES文
 PLOT LINESは,指定された点を,順次,線分で結んでいく。

 PLOT LINES文には,コロンに続けて複数の点を指定することができる。点は,x座標とy座標をコンマで区切って書く。座標と座標の間はセミコロンで区切る。最後の点の後にもセミコロンを書くことができる。

 PLOT LINES文を実行すると,現在の描点の状態のままで描点を最初の点に移動し,描点をonにする。そして,描点を,順次,移動し,末尾がセミコロンでなければ描点をoffにする。末尾がセミコロンであれば,描点がonのままとなる。

 PLOT LINES文には,コロン以下を省いた特別な形がある。この形のPLOT LINES文は描点をoffにする効果のみを持つ。

 PLOT LINES: x,y
  描点を(x,y)に移動し,描点をoffにする。
 PLOT LINES: x,y ;
  描点を(x,y)に移動し,描点をonにする。
 PLOT LINES
  描点をoffにする。

 PLOT LINES: x1, y1 ; x2, y2 ; ・・・ ; xn , yn
 描点を(x1, y1)に移動して描点をonにし,以後,描点を,(x2, y2),・・・,(xn , yn)に移動し,最後に描点をoffにする。

<補足> 以下のときにも描点はoffになる。

 (1) PLOT LINES以外の図形出力文と図形入力文の実行前
 (2) 絵定義に入るときと絵定義から出るとき
 (3) SET WINDOW, SET VIEWPORT, SET DEVICE WINDOW, SET DEVICE VIEWPORT を実行するとき 

SET LINE COLOR 数値式
 PLOT LINES文で描かれる線の色指標を設定する。
 実行開始時のline colorは1。

SET LINE STYLE 数値式
 PLOT LINES文で描かれる線の種類を設定する。
 線の種類は,
   1 実線 2 破線 3 点線 4 一点鎖線。
 実行開始時のline styleは1。



ASK LINE COLOR 数値変数
 現在のline color(色指標)を数値変数に代入する。

ASK LINE STYLE 数値変数
 現在のline styleを数値変数に代入する。

ASK MAX LINE STYLE 数値変数
 利用可能なline styleの最大値を数値変数に代入する。
 このバージョンでは常に4を返す。


独自の拡張

PLOT BEZIER: x1, y1 ; x2, y2 ; x3, y3; x4, y4
(x1, y1),(x4, y4)を端点,(x2 , y2), (x3, y3)を制御点とするベジェ曲線を描く。


SET LINE WIDTH 数値式
 線の太さを標準の太さに対する倍数で指定する。
 Windows 95/98/Meでは,1以外の値を指定すると,LINE STYLEの設定が無視される。

SET BEAM MODE "IMMORTAL"
  PLOT LINES以外の図形出力文,図形入力文,および絵定義の実行で描点の状態を変えない。
SET BEAM MODE "RIGOROUS"
  描点の状態をJISの規定通りにoffにする。

ASK LINE WIDTH 数値変数
 現在のline widthを数値変数に代入する。

ASK BEAM MODE 文字列変数
 現在のbeam modeを文字列変数に代入する。