5.Computer Graphicsの基礎
Computer Graphics(CG)は,計算結果をグラフや図に表示するばかりでなく,建築においては設計図や
パースの作成,色彩計画にも利用できる。必要に応じて図の作成が気軽に出来るプログラム作成能力を身に
付けることを目標として,以下にGraphicsの基礎について項目別に解説する。
(1)ディスプレイ画面
ディスプレイ画面 = テキスト画面 + グラフィックス画面 |
ディスプレイ画面は,テキスト(文字)とグラフィックス(図形)の2つの画面が重なり表示されている。
テキスト画面の
座標系
グラフィックス画面の
座標系
640×480ドットのスクリーンモードの場合
上記の640×480のドット(ピクセルとも呼ぶ)に1対1で対応させた座標系のことをQuick Basicでは
物理座標系と呼んでいる。
(2) WindowとView Port
Computer Graphicsを学ぶ上で初心者に最も分かりづらい項目がWindowとView Portの概念である。
これを確実に理解することにより,目的の図形を簡単に描画することが出来る。
(a) Window
描画の際には,目的の図形あるいはグラフを表示するのに,物理座標に束縛されない最もふさわしい座標軸
の目盛で考えた方が分かりやすい。
例えば,
建物の平面図 ・・・・ 長さに応じた単位を用いた目盛
外気温の変動グラフ ・・・ 時刻と温度を単位とした目盛
モーメント図 ・・・・ 材の長さとモーメントに応じた単位を用いた目盛
あらかじめ大きさが
分からない図形 ・・・・ 夫々の軸の最大の辺長で基準化した目盛
このような目的の図形あるいはグラフに最もふさわしい座標系(Quick BasicではこれをView座標系と呼ぶ)
を考えて,表示したい図形に通常上下左右の余白を適当に見込んだ枠を考える。この枠のことを窓枠に例えて
Windowと呼んでいる。
Windowの指定は,下記の通り。
WINDOW [ [SCREEN] (X1,Y1)−(X2,Y2) ] |
・ [ ]は省略可能であることを意味する。
・ 座標値(X1,Y1),(X2,Y2)は,枠の左上隅と右下隅(または左下隅と右上隅)の対角線上の座標値。
・ SCREENオプションが付かない場合;Y軸の正方向は上向き,付く場合は逆にY軸の正方向は下向き。
・ 全てのオプションを省略した場合は,物理座標系を指定したのと同じ。
(b) View Port
描画すべき図形を先に示したグラフィックス画面の物理座標系のどの領域(例えば,右側半分,左下隅,全体
など)に表示するのかについては,目的に応じて指定する。このようにスクリーンの中に小さな画面として定義
された表示領域のことを View Port と呼び,View Portは物理座標系を用いて次のように指定する。
VIEW [ [SCREEN] (X1,y1)一(x2,y2), 領域色,境界色 ] |
・ VIEW文のSCREENオプションは,通常省略して用いる。
省略され場合,全てのピクセルの座標がView Port の左上隅を原点とした座標値(View Port
に対する相対座標値)となる。
省略されない場合は,全てのピクセルの座標値が物理座標系で考えた絶対座標値となる。
・ 全ての座標値を省略すると,View Port は画面全体となる。
・ 領域色とはView Port の領域内の背景色
・ 境界色とはView Port の外枠の色
・ View Port の指定を変えるだけで,簡単に図形の拡大,縮小を実行できる。
(c) WindowとView port を設定する際の注意事項
WindowとView port は,互いに外枠の四隅の点が一致するようにView座標系から物理座標系に
変換される。従って上記変換の際に,
図形の縦横比が変化してはならない場合(例えば,建物の平面図)
→WindowとView port の外枠の形を必ず相似にしなければならない。
問題 Quick BasicのHELPの機能を利用して,以下のコマンドの使用方法を理解せよ。
・Screen Modes ・Color Attributes and Values
・LINE ・CIRCLE
・PSET ・PAINT
なお,HELPの利用の仕方は以下の通り。
1) 「Shift」+「F1」キーを押してHELPの画面に切り換える。
2) 「Index」を選択してhelpを必要とするコマンドの先頭英字を入力して該当コマンド群に位置付ける。
3) 該当コマンド群の中から目的のコマンドにカーソルを合わせ,Enterキーを押す。
以上の手順でコマンドの使い方が表示される。
Quick Basicの通常の編集画面に戻るには「Esc」キーを押す。
LOCATE文の補足: LOCATE文はテキスト画面の座標系を用いて,テキストを表示する位置を希望の
位置に設定するために,あらかじめカーソルをテキストの先頭文字の位置に移動さ
せる働きを有している。実際にLOCATE文を使用する場合には,適当と思われる
行,列の順に座標値を与えることになるが,1回で丁度よい位置に合わせることは,
意外と面倒である。
以下のプログラムは,座標値を決めるための目安を表示したものである。
’Check of Position SCREEN 12 COLOR 14 WlNDOW VIEW (0,0)−(639,479),4 LOCATE 1,1 PRINT ”0123456789012345678901234567890123456789001234567890” FOR i=2 TO 28 LOCATE i,1 NEXT i SLEEP END |