JIS X 3003:1993 電子計算機プログラム言語Full BASIC | ページ 25

                                                                                            117
X 3003-1993
される値の両方が報告される。
(7) 経路式を指定したtrace文によって追跡が有効になった場合,追跡報告は,その経路に割り当てられ
た表示形式のファイルに出力される。経路式を指定しなかった場合には,追跡報告は,ゼロ番の経路
の装置に出力される。
(8) 追跡報告の内容は,処理系定義とする。ただし,少なくとも追跡される変数の,追跡報告を引き起こ
した文に書かれた形での変数名,その値及び変数が配列要素である場合には添字の値を含む。
12.2.5 例外状態 例外状態は,次による。
(1) デバッグが活性状態である時に,break文を実行する。(10007,続行可能。回復手続きは,その文の
行番号を報告しデバッグシステムとの対話を可能にすることとする。)
(2) 不活性状態の経路に追跡報告を出力しようとする。(7401,続行不能。)
(3) 入出力指定属性OUTPUT又はOUTINで開かれた表示形式のファイルでないファイルに,追跡報告を
出力しようとする。(7402,続行不能。)
12.2.6 注意 注意は,次による。
(1) at文によって配列要素に値を代入すると,mat文の追跡はすべての配列要素の新しい値を報告する。
(2) 追跡報告の形式は,処理系定義とする。
(3) 処理系は,これらの文のほかに指令によるデバッグ機能を提供してもよい。その指令には,これらの
文と同じ機能語を用いることを推奨する。

13. 図形

13.0 機能単位

 ここでは,簡易図形出力機能単位 (mini graphics module) 【及び図形機能単位 (graphics
module) 】を規定する。
13.113.3の括弧【 】で囲まれていない部分は,簡易図形出力機能単位を規定する。【13.113.5は,
図形機能単位を規定する。括弧で囲まれた部分は,簡易図形出力機能単位には含まれない。】
13.113.3【及び13.4】は,ISO 7942に規定されたGraphical Kernel System (GKS) の水準0bの機能の部
分集合とする。GKSと共通の例外状態に対する関数EXTYPEの値は,GKSの誤り番号の値に11000を加
えたものとする。
【図形機能単位をGKSの水準0bの全体まで拡張したいときに,処理系が採用できる構文を,附属書F(参
考)に示す。13.5は,GKSの規格の拡張である。】
GKSの立場からみれば,この規格の13.に規定する文を含むBASICのプログラムは,図形を処理するす
べての文の実行に先立って,GKSの機能OPEN GKS,OPEN WORKSTATION (#0, ”Maindev”, 1) 及び
ACTIVATE WORKSTATION #0を暗黙的に呼び出す。そして,プログラムの終了に当たって,DEACTIVATE
WORKSTATION #0,CLOSE WORKSTATION #0及びCLOSE GKSを呼び出す。
参考 簡易図形出力機能単位は,図形機能単位の13.113.3の規定に対して,次の削除・制限を加え
たものであると考えることができる。
(1) 13.1については,削除はない。
(2) 13.2については,文章の形,大きさ,方向などは,ただ一つだけを許し,それ以外の規定及
び生成規則を削除する。COLOR MIX(色混合率)の規定を削除する。線の形の利用可能な
個数の最小値は,四つではなく三つとする。点の形の利用可能な個数の最小値は,五つでは
なく三つとする。これらに関連する例外状態11073,4102及び11088を削除する。
(3) 13.3については,着色胞の配列を出力する機能を削除する。幾何図形mat文の規定を削除す

――――― [JIS X 3003 pdf 121] ―――――

118
X 3003-1993
る。13.3.4(1.2),すなわち,通常の文による出力と図形出力との相互関係の規定を削除する。
文章の高さ,そろえ,方向などの規定を削除する。配列による出力に関連する例外状態6401,
6402及び11085を削除する。

13.1 座標系

13.1.1 概要 図形出力を生成するのに用いる座標系は,応用分野に合わせて選ぶことができる。“問題座
標 (problem coordinate)”[論理座標 (world coordinate) ともいう。]系の範囲は,機能語WINDOW(窓)を
もつset文によって定める。この範囲を機能語VIEWPORT(視野面)をもつset文で指定された抽象視野
面 (abstract viewing surface) 中の長方形の中に写像する。抽象視野面中のどの部分を利用者が表示画面
(display surface) 中に表示するかを,機能語DEVICE WINDOW(装置窓)をもつset文によって指定する。
更に,この長方形を機能語DEVICE VIEWPORT(装置視野面)をもつset文によって表示画面上に位置付
ける。
出力が装置視野面の外に出たときには,何も生成されない。切取り (clipping) を有効にすれば,視野面
の外に写像された図形の出力が無視される。
ask文は,set文のどれかの実行(又は省略時想定)によって設定された係数の現在値を問い合わせる。
13.1.2 構文 構文は,次による。
(1) 設定対象⊃ WINDOW 境界四辺|VIEWPORT 境界四辺|DEVICE WINDOW 境界四辺|
DEVICE VIEWPORT 境界四辺|CLIP 文字列式
(2) 境界四辺=境界 コンマ 境界 コンマ 境界 コンマ 境界
(3) 境界=数値式
(4) sk文⊃ASK 質問対象 status句?
(5) tatus句=STATUS 数値変数名
(6) 質問対象⊃ WINDOW 境界四辺変数|VIEWPORT 境界四辺変数|DEVICE WINDOW
境界四辺変数|DEVICE VIEWPORT 境界四辺変数|DEVICE SIZE 数値変数名
コンマ 数値変数名 コンマ 文字列変数名|CLIP 文字列変数名
(7) 境界四辺変数=数値変数名 コンマ 数値変数名 コンマ 数値変数名 コンマ 数値変数名
13.1.3 例 構文の例を次に示す。
WINDOW 0, PI*2, −1, 1 (1)
Viewport .5*width, width, .5*height, height (1)
DEVICE WINDOW 0, .8, 0, 1 (1)
DEVICE VIEWPORT .3, .5, .1, 1 (1)
CLIP ”Off” (1)
ASK WINDOW X1, X2, Y1, Y2 (4)
ASK VIEWPORT L, R, B, T (4)
ASK DEVICE WINDOW XMIN, XMAX, YMIN, YMAX (4)
ASK DEVICE VIEWPORT LEFT, RIGHT, BOTTOM, TOP (4)
Ask device size Width, Height, Units$ (4)
ASK CLIP CLIPSTATE$ (4)
13.1.4 意味 意味は,次による。
(1) 図形出力は,問題座標上で指定する。基準化変形は,問題座標系から基準装置座標 (normalized device
coordinate, NDC) 空間への写像を定義する。この基準装置座標空間を抽象視野面とする。

――――― [JIS X 3003 pdf 122] ―――――

                                                                                            119
X 3003-1993
(2) 基準化変形は,窓 (window) と呼ばれる長方形の限界を問題座標中に定義することで指定する。その
窓が,基準装置座標中の視野面 (viewport) と呼ばれる指定された長方形の領域に,線形写像される(図
13.1参照)。
(3) 機能語WINDOWをもつset文を実行すると,窓の境界四辺 (boundaries) が定められる。係数は,問
題座標中の窓の長方形のそれぞれ左辺,右辺,下辺及び上辺を表す。プログラムの実行を開始する時
の窓のこれらの値は, (0, 1, 0, 1) とする。
(4) 機能語VIEWPORTをもつset文を実行すると,視野面の境界四辺が定められる。係数は,基準装置座
標中の視野面の長方形のそれぞれ左辺,右辺,下辺及び上辺を表す。これらの値は,ゼロ以上1以下
でなければならない。左辺の座標値は右辺より小さく,下辺の座標値は上辺より小さくなければなら
ない。プログラムの実行を開始する時の視野面のこれらの値は, (0, 1, 0, 1) とする。
(5) この視野面は,切取りをする長方形をも定める。機能語CLIPをもつset文を実行すると,視野面境界
における切取りが,文字列式の値の“ON”又は“OFF”に従って,有効又は無効になる。文字列式の
値の中の文字は,英大文字と英小文字を混ぜて指定してもよい。プログラムの実行を開始する時には,
切取りは有効になっている。
(6) 装置変形 (device transformation) は,装置窓 (device window) と呼ばれる基準装置座標空間中の長方形
を装置視野面 (device viewport) と呼ばれる物理画面上の長方形に一様に写像する。この変形は,両軸
に対して等しい正の比率をもった拡大縮小 (scaling) を行う。すなわち,装置窓と同じ縦横比 (aspect
ratio) をもつ最大の長方形を装置視野面中に左下端を合わせて設定し,装置窓をこの長方形に写像す
る(図13.1参照)。
(7) 機能語DEVICE WINDOWをもつset文を実行すると,装置窓の境界四辺が定められる。係数は,基準
装置座標中の装置窓の長方形のそれぞれ左辺,右辺,下辺及び上辺を表す。これらの値は,ゼロ以上
1以下でなければならない。左辺の座標値は右辺より小さく,下辺の座標値は上辺より小さくなけれ
ばならない。プログラムの実行を開始する時の装置窓のこれらの値は, (0, 1, 0, 1) とする。装置窓の
外への出力をしないように,切取りが装置窓の境界で行われる。この切取りを無効にすることはでき
ない。機能語DEVICE WINDOWをもつset文を実行すると,表示画面が(まだ消去されていないなら)
消去される。
(8) 機能語DEVICE VIEWPORTをもつset文を実行すると,装置視野面が定められる。係数は,装置視野
面の長方形のそれぞれ左辺,右辺,下辺及び上辺の座標を表す。装置視野面の単位は,正確に拡大縮
小された像を生成することのできる装置上ではメートルとし,さもなければ装置に依存した適当な座
標とする。表示画面の左辺及び下辺の座標値は,ゼロとする。プログラムの実行を開始する時の装置
視野面は,画面全体とする。機能語DEVICE VIEWPORTをもつset文を実行すると,表示画面が(ま
だ消去されていないなら)消去される。
(9) 図13.1は,窓,視野面,装置窓,装置視野面の関係を示す。ここで,切取りは有効になっているもの
とする。

――――― [JIS X 3003 pdf 123] ―――――

120
X 3003-1993
図13.1 窓と視野面との関係
(10) sk文に書いたstatus句は,そのask文の実行に関する状態を数値変数に返す。ask文が質問対象につ
いて意味のある値を返したときには,status句は値ゼロを返す。ask文が質問対象について意味のある
値を返せなかったときには,status句はそれぞれの質問対象に関する意味の項で規定されているゼロ
でない値を返す。ある特定の質問対象に対するask文が,必ず意味のある値を返すとわかっていると
きには,その質問対象に関する意味の項は代わりの値を規定せず,必ず値ゼロが返される。
(11) 機能語WINDOW,VIEWPORT,DEVICE WINDOW又はDEVICE VIEWPORTをもつask文を実行す
ると,指定された長方形の現在値が返される。実行された最後のset文によって設定された左辺,右
辺,下辺及び上辺の値をそれぞれの境界四辺変数 (boundary variables) に代入する。関連するset文が
まだ実行されていないときには,省略時想定の値を代入する。
(12) 機能語DEVICE SIZEをもつask文を実行すると,有効な表示画面の水平方向の寸法が1番目の数値変
数に代入され,垂直方向の寸法が2番目の変数に代入される。文字列変数は,寸法がメートル単位で
あれば値“METERS”が代入される。そうでなくて,寸法の単位が装置座標系によるその他の単位で
あれば,値“OTHER”が代入される。値“METERS”及び“OTHER”は,英大文字とする。
(13) 機能語CLIPをもつask文を実行すると,切取りが有効であれば文字列変数に値“ON”が代入され,
無効であれば値“OFF”が代入される。返される値は,英大文字とする。
13.1.5 例外状態 例外状態は,次による。
(1) et文の境界四辺が,ゼロの幅又はゼロの高さの長方形を指定する。(11051,続行可能。今までの値を
維持して処理を続ける。)
(2) 機能語VIEWPORT,DEVICE WINDOW又はDEVICE VIEWPORTをもつset文の境界四辺が,負の幅
又は負の高さを指定する。(11051,続行可能。今までの値を維持して処理を続ける。)
(3) 視野面の境界が閉区間 [0, 1] の範囲にない。(11052,続行可能。今までの値を維持して処理を続け
る。)
(4) 装置窓の境界が閉区間 [0, 1] の範囲にない。(11053,続行可能。今までの値を維持して処理を続け
る。)
(5) 装置視野面の境界が,表示画面の範囲にない。(11054,続行可能。今までの値を維持して処理を続け
る。)
(6) 機能語CLIPをもつset文の文字列式の値が,英大文字に変換した後に“ON”でも“OFF”でもない。
(4101,続行可能。今までの値を維持して処理を続ける。)
13.1.6 注意 注意は,次による。
(1) 特定の図形表示装置をプログラムによって選択する方法は,処理系定義とする。

――――― [JIS X 3003 pdf 124] ―――――

                                                                                            121
X 3003-1993
(2) 左辺の値が右辺より大きい又は下辺の値が上辺より大きい窓の意味は,処理系定義とする。可能な場
合には,処理系は,適切に逆転した像とすることを推奨する。すべての図形出力【及び図形入力】の
効果は,抽象問題空間を用いて定義される。抽象問題空間は,左及び下が小さい値そして右及び上が
大きい値とする。この問題空間を基準装置座標に写像するとき,その窓の境界四辺の値の大小関係に
よっては,像が逆転することがありる。このことは,逆転している窓座標は誤りとなるというGKS
の規則を緩和する。
(3) 次のBASICの文は,次のGKSの機能に対応する。
BASIC : 機能語WINDOW,VIEWPORT,DEVICE WINDOW又はDEVICE VIEWPORTをもつset

GKS : 機能SET WINDOW,SET VIEWPORT,SET WORKSTATION WINDOW又はSET
WORKSTATION VIEWPORT;これらの文に対して,GKSの変形番号は1,GKSの図形処
理装置 (workstation) 番号は#0とする。
(4) 次のBASICの文は,次のGKSの機能に対応する。
BASIC : 機能語CLIPをもつset文
GKS : 機能SET CLIPPING INDICATOR
(5) 次のBABASICの文は,次のGKSの機能に対応する。
BASIC : 機能語WINDOW又はVIEWPORTをもつask文
GKS : 基準化変形1に対する機能INQUIRE NORMALIZATION TRANSFORMATION
(6) 次のBABASICの文は,次のGKSの機能に対応する。
BASIC : 機能語CLIPをもつask文
GKS : 機能INQUIRE CLIPPING INDICATOR
(7) 次のBABASICの文は,次のGKSの機能に対応する。
BASIC : 機能語DEVICE WINDOW又はDEVICE VIEWPORTをもつask文
GKS : 図形処理装置識別子#0に対する機能INQUIRE WORKSTATION TRANSFORMATIONの現
在の図形処理装置窓 (workstation window) 又は現在の図形処理装置視野面 (workstation
viewport) の係数
参考 ANSI X3.113では,ここの“#0”が“one”となっているが,誤りであるので,TIBによって訂
正した。
(8) EVICE VIEWPORTをもつset文を実行する前に,DEVICE VIEWPORTをもつask文を実行して,有
効な装置画面全体の装置座標を知ることができる。
(9) 次のBASICの文は,次のGKSの機能に対応する。
BASIC : 機能語DEVICE SIZEをもつask文
GKS : 機能INQUIRE MAXIMUM DISPLAY SURFACE SIZEの装置座標単位及びそれによる
最大表示画面寸法の係数
(10) 【附属書F(参考)に示す質問対象の多くには,意味のある値を返せない場合がある。その場合,status
句の返す値は,GKSの誤り指示子係数値に11000を加えた値とする。】

13.2 属性及び画面制御

13.2.1 概要 図形の表示は,次による。
(1) 図形表示装置は,さまざまの太さや形をもつ複数種類の線や点を描くことができる。図形の出力に当
たって,特定の形を選択できる。更に,図形表示装置は,さまざまの色を用いて線を描いたり,領域

――――― [JIS X 3003 pdf 125] ―――――

次のページ PDF 126

JIS X 3003:1993の引用国際規格 ISO 一覧

  • ISO/IEC 10279:1991(IDT)

JIS X 3003:1993の国際規格 ICS 分類一覧

JIS X 3003:1993の関連規格と引用規格一覧