パソコン活用研究5番街(Visual Basic、Excel(VBA)、BASIC プログラミング研究)

Basicによるグラフィック命令の違い(Line,Circle)

--------------------------------------------------------------------------------------------
グラフィック関連の命令はBASIC毎に仕様、文法の相違が激しい部分の最たるものです。
ハードの違いにより、実装される機能がかなり違います。今回は、Line,Circleについて各Basicの
違いを補足しておきます。実機FM-7/8でのF-Baisc、PC-98でのN88 Basicでは画面上の1ドット
の縦横比が1:1ではないこと
に注意が必要です。
--------------------------------------------------------------------------------------------
N88互換Basic for winでの実行例はグラフィックの基本にもあります。


1 LINE
(1) N88互換Basic for win

Line (X1,Y1)-(X2,Y2),<線色>,BF(またはB),<面色>
点(X1,Y1)と点(X2,Y2)を結ぶ直線を指定された<線色>で描きます。
Bを指定すると、2つの点を頂点とする長方形を描き、BFを指定するとその長方形の内部を<面色>で
塗りつぶします。<面色>を省略すると、<線色>で塗りつぶします。

N88互換Basic for winの場合、表示時の縦横の長さは1:1なので、以下のプログラムでは
一辺が50ドットの正方形を描きます。



(2) N88 Basic
本家のN88 Basic では(ver1,ver2で確認済み)、Line命令は以下の通り
Line (X1,Y1)-(X2,Y2),<線色>,BF(またはB),<ラインスタイル>

実機ではなくエミュレータT-98Nextの画面です。
1ドットの縦横比が異なるので、縦横50ドットづつですが正方形にならず長方形になります。



ラインスタイルを指定して線を引く実例です。





(3) F-Basic

Line (X1,Y1)-(X2,Y2),<機能>,<線色>,BF(またはB)

<機能>はPSET,PRESET,AND,OR,XORを指定します。
実機ではなく、エミュレータXM7の画面です。
1ドットの縦横比が異なるので、縦横50ドットづつですが正方形にならず長方形になります。





2 CIRCLE
(1) N88互換Basic for win
CIRCLE (X1,Y1),<半径>,<線色>,<開始角度>,<終了角度>,<比率>,F,<面色>

点(X1,Y1)を中心として、<半径>で指定した大きさの円(楕円)を<線色>で指定した色で描きます。
<開始角度>と<終了角度>を指定すると、円弧(楕円弧)や扇型が描けます。これらは、度数法ではなく
ラジアンで指定します。(指定できる角度の範囲は-2π〜2π =>-2*3.14... 〜2*3.14)
この角度に負の数を指定すると、角度にはその絶対値が用いられ、かつ中心から半径線が同時に
描かれ、扇形を描くことができます。
<比率>に1より小さい値 r を指定すると、縦軸の半径が<半径>*r の横長の楕円になります。
F を指定すると、円や扇方の内部を<面色>で指定した色で塗りつぶします。<面色>を省略すると
<線色>が使われます。


(2) N88 Basic
CIRCLE (X1,Y1),<半径>,<線色>,<開始角度>,<終了角度>,<比率>,F,<面色>
点(X1,Y1)を中心として、<半径>で指定した大きさの円(楕円)を<線色>で指定した色で描きます。
<開始角度>と<終了角度>を指定すると、円弧(楕円弧)や扇型が描けます。これらは、度数法ではなく
ラジアンで指定します。(指定できる角度の範囲は-2π〜2π =>-2*3.14... 〜2*3.14)
この角度に負の数を指定すると、角度にはその絶対値が用いられ、かつ中心から半径線が同時に
描かれ、扇形を描くことができます。
<比率>640*400ドットモードのときは1.0、640*200ドットモードの時は0.5を指定すると円になります。
1より小さい値 r を指定すると、縦軸の半径が<半径>*r の横長の楕円になります。
F を指定すると、円や扇方の内部を<面色>で指定した色で塗りつぶします。<面色>を省略すると
<線色>が使われます。<面色>にまたタイルストリングを指定することもできます。

以下の画面はエミュレータの画面ですが、640*200ドットモードで比率0.5を指定しています。



(3) F-Basic
CIRCLE (X1,Y1),<半径>,<線色>,<比率>,<開始角度>,<終了角度>,(F又はN),<機能>

点(X1,Y1)を中心として、<半径>で指定した大きさの円(楕円)を<線色>で指定した色で描きます。
<比率> Y座標軸/X座標軸の比率を0〜1の範囲で指定します。指定のない時は0.4495がとられ円になります。
(参考)富士通製のCRTの表示画面は横200mm*縦139mm。横640*縦200ドット表示なので1ドットの表示上の縦横比は0.45

<開始角度>と<終了角度>は0〜1で指定します。
F を指定すると、円の内部を塗りつぶします。Nまたは省略すると塗りつぶしません。
<機能> PSET,PRESET,AND,OR,XORが指定できます。AND,OR,XORを指定すると画面上の色と<線色>の論理演算が
行われ、その結果の色になります。

中心(200,100) 半径90の円を描くプログラム。比率は指定していないのでデフォルトの0.4495になります。


FM-7/8の実機だと真円になるはずですが、エミュレータ(XM-7)上では少し潰れていますね。
XM-7での縦横の1ドットの比率は縦:横=2:1 のようです。(ということは、XM7用のプログラムでは
真円を描こうと思ったら比率は0.5を指定することになる)





TOP PAGE >Basic活用研究目次