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

11. グラフィックス言語の解説

11.3 グラフィックスの言語設計


11.3.2 教育利用と実務利用とを別にするのがよいこと

 コンピュータグラフィックスの面白さは、自前で作図コードを考えて作図を楽しむことにありますので、プログラミング教育に採用すると人気の高い課題になります。この入門教育のときは、利用できるグラフィックスサブルーチンの中身、つまりアルゴリズムの解説を最小限に抑えて、使い方だけを覚えさせ、グラフィックス作品を評価することから始めます。見てくれのよいグラフィックス作品を作ることにのめり込むと、種々の機能が使える市販のグラフィックスソフトを使いたくなります。この段階に達した時点で、作図のアルゴリズムの幾つかを解説する課程に入ります。この中身は、専門別に固有の問題を多く含みますので、範囲が非常に広くなります。教育課程として、どこに焦点を置くかは、悩ましいところがあります。市販のグラフィックスソフトの開発者側は、多くのユーザの要望に応えるように、応用ソフトの品数を増やす戦略を取ります。しかし、実務、特に科学技術の研究問題にコンピュータグラフィックスを利用する場合には、数ある品数の中の一部だけしか利用しないのが普通ですし、また、作図の目的に合ったソフトが無いことも起こります。したがって、全体のソフト構成を軽くするため、基本的なソフトを選択して、自前で目的に合うグラフィックスのプログラミングをする必要があります。表11.1は、そのことを意識し、特に、教育利用を目的とした基本作図命令の最小セットです。

表11.1 線図を作成することに目的とした基本作図命令のセット(島田)

(1)装置依存の基本コマンド(メソッド)

DPERAS

引き数はありません。グラフィックス装置を初期化します。プロッタでは新しい用紙を準備し、グラフィックスモニタでは、画面を消去します。

DPWIND xc, yc, h

矩形画面の平面座標系をキャンバス画面に設定します。カメラが二次元の世界座標を視野に捉えるモデルを考えます、レンズ光軸が狙う世界座標が(xc,yc)、キャンバスの横幅に世界座標の横幅が収まるように座標軸を決めます。高さ方向はデフォルトのアスペクト比(標準は3:4)を持たせます。

DPMOVE x, y

x, y は、平面世界座標系でのペンの位置です。グラフィックスウインドウ上に線を引かずに、描き始めのペン位置を設定します。

DPDRAW x, y

x, y は、平面世界座標系でのペンの位置です。現在のペン位置から、指定された位置まで、グラフィックスウインドウ上に直線を引きます。線の種類は、DPENTX であらかじめ指定します。デフォルトは細い実線です。

(2)装置依存の属性(プロパティ)

DPENSZ ip

線の太さを選択します。初期値は1(細線)です。システムの仕様によって、線の太さの選択種は異なります。

(3)標準的な応用メソッド(抜粋)

DPENTX ipen

線の種類(実線・破線)などを指定します。

DPCIRC x, y, r

中心位置(x,y)、半径radiusの円を描きます。線の種類は、その前の設定値が使われます。なお、円の内部の塗り潰しは行いません。

DPMARK x, y, im

指定した位置に記号を描きます。記号の種類を番号で指定します。寸法は、モニタ画面ではピクセル単位の点です。

DPTEXT x, y,"st"

(x,y)を文字列基線の始端として文字を描きます。線図で描くことを想定していますが、Windowsのモニタではシステムの機能を使ってフォントを指定します。

備考

上記の命令セットの単語は、頭にDPを付けた6文字で構成してあります。これは、最初、Fortranでサブルーチンをプログラミングしたことによる制限です。筆者はこの仕様を私的にずっと使っています。

2010.11 橋梁&都市PROJECT

前ページ  次ページ