言語仕様の詳細(JISとの相違)

13. 図形

[規格との相違]
13.2.5(1)
 処理系定義の省略時想定値に指定された色指標を256で割った剰余を用いる。
13.3.4(3.1)
 書式項目が不足する場合には,出力欄を星印で埋める。
 10.4.5が要求するような書式なしの表現での値の報告はしない。
13.3.5(4)
 例外状態としない。
13.3.5(6)
 処理系定義の省略時想定値に指定された色指標を256で割った剰余を用いる。
13.4.4(12)
 辺および頂点も「長方形の中」と解釈する。
13.5.4(3.5)(b)
 「機能語PLOT LINESを持つ幾何図形文以外の図形出力文の実行前」と解釈する。
 (すなわち,MAT PLOT LINES文を実行すると描点はオフになる)
[処理系定義の事項]
13.1.4(8)(12)
 単位はメートル。
13.1.6(1)
 逆転した窓も有効
13.3.6(6)
 extype6401を与える。
13.5.4(2)
 現在変形が特異行列であると,extype -3009 の例外状態になる。


[Memo]
 13.4.2(7)のrange句の後に?がないが,ANSにはあるので,JISは誤植と思われる。(13.4.4(6)にはrange句を省略したときの動作が書いてある)

[Note]
 Full BASICの文法は,数値mat文とも変形指示mat文とも解釈できる多義性のある文を生成する。

 次のプログラムの40行は2通りの解釈が可能で,解釈によって意味が異なる。
10 DEF ROTATE(x)=2*x
20 DIM a(4,4)
30 MAT a=IDN
40 MAT a=ROTATE(PI/6)*a
 本BASICは,数値mat文としての解釈を優先する。


[Note]
 MAT PLOT LINES文は幾何図形文ではないから,13.5.4.(3)の規定はMAT PLOT LINESには適用されない。
 だから,MAT PLOT LINESの実行によって描点がオフにならないとすると,MAT PLOT LINES文の後に実行されるPLOT LINES文は,MAT PLOT LINES文を実行する前に実行されたPLOT LINES文が指定する点との間を線分で結ぶことになる。
[補足]
画像出力の形式にメタファイルを選んだ場合には,以下の非互換がある。
13.2.2.(13)
 TEXT ANGLEは,問題座標ではなく,物理座標で定義される。
13.2.4.(11)
 文字高さの省略時想定値に関する規定は無視している。
13.3.6(2)
 文字の字形は座標系の影響を受けない。
13.4.4(3)(4)
 LOCATE POINT,GET POINTは,ビットマップ(画面)以外では無効。
13.5.4(1.1)
 PLOT TEXT文では,基点の座標と文字の向きおよび大きさのみを変換し,字形は物理座標で相似変換したものになる。

[補足]
 互換性オプションがJIS非互換のとき,いくつかのSET文は続行可能例外でなく続行不能例外を生成する。


[拡張]
13.1.4
 独自命令の SET BITMAP SIZE,または,GLOADを実行すると,装置視野面がビットマップの実サイズと一致し,装置窓が装置視野面に相似となるように,そして,視野面が装置窓と一致するように設定される。