目次ページ  前ページ  次ページ

3. 図形要素間の演算

3.1 定義と宣言


3.1.3 デフォルトの初期値の扱い

 型を指定した変数名を準備する構文は、GBASICでは二段階で宣言します。まず、変数名の英字の頭文字を何の型にするか、をDEF***文で定義します(第2章の表2.1を見て下さい)。コマンドのDEFの部分はdefinitionの意味であって、インタプリタ側で決めた定義をユーザが変更できます。単純な変数は、この定義文以降、変数が最初に使われたときに、頭文字を判別して、宣言文無しにその型の変数としてメモリに登録されます。配列の場合には配列の寸法をDIM文で宣言します(ちなみに、大きな寸法の配列を削除して、メモリ領域を別の変数領域用に解放するに目的に、ERASEコマンドが用意してあります)。点のデータをはじめ、図形要素のデータ型は複数の実数の組で約束しますので、その中身は、型に固有する個数分の実数配列と同じです。変数は代入文の右辺値にも使います。変数が宣言された直後であっても、データ構造に矛盾のない初期値が入っていなければなりません。一般的なプログラミング言語では、変数の宣言は、その変数を保存するメモリ領域を予約するだけのことがあり、中身には以前使ったデータがゴミとして残っていることがあります。整数型・実数型の変数を、初期値0に設定してくれるプログラミング言語もあります。幾何の図形要素の場合、データ成分をすべて0とすることができるのは点の型の場合だけですので、GBASICのインタプリタ側で初期値を矛盾の無いように設定します(表3.1)。なお、代入文の左辺値が計算される場合も、個別のデータ数値の間で、標準のデータ構造に矛盾がないように調整を行います。
表3.1 図形要素の変数型の初期値

型番号

型 の 名 前

寸 法

初期値とその内容、条件

1

整数

1

0

2

実数

1

0

4

文字列

2

何もありません、空白文字(スペース)もありません。

11

二次元の点

2

(0, 0)、原点

12

二次元の直線

3

(0, 1, 0)、x軸を表します。(a^2 + b^2 =1 の条件)

13

二次元の円

3

(0, 0, 1)、原点(0, 0)を中心とする半径 1の円

14

二次元の矩形

4

(0, 0, 1, 1)、原点(0, 0)を中心とする 2×2 の正方形

15

二次元の線分

4

(0, 0, 1, 0)、x軸上にある単位長さの線分

16

二次元の変換行列

6

(1, 0, 0, 1, 0, 0)、ワールド座標系

21

三次元の点

3

(0, 0, 0)、原点

22

三次元の直線

6

(0, 0 ,0, 1, 0, 0)、x軸、(u^2 + v^2 + w^2 =1)

23

三次元の平面

4

(0, 0, 1, 0)、xy座標面、(a^2 + b^2 + c^2 =1)

24

三次元の球

4

(0, 0, 0, 1)、原点を中心とする半径1の球

25

三次元の直方体

6

(0, 0, 0, 1, 1, 1)、原点を中心とする 2×2×2の立方体

26

三次元の線分

6

(0, 0, 0, 1,0, 0)、 x軸上の単位長さの線分

27

三次元の変換行列

12

(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)、ワールド座標系

2008.3 橋梁&都市PROJECT

前ページ  次ページ