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

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

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


11.3.1 デバイスドライバの発想

 コンピュータグラフィックスは、典型的な、装置依存のプログラミングを使います。線図を描くことを目的としたプロッタは、ペンの移動を電気機械式に制御します。ペンの動きは、方眼状に設定した座標単位でステップ移動をさせます。ペンを用紙上に接しておけば線を描きます。縦横座標軸方向には真っ直ぐな直線を描くことができますが、斜めの線は、ミクロに見れば階段状の軌跡を描きます。マクロに見てギザギザが気にならないように描くためには、方眼の精度を細かくすることと同時に、ソフトウエア的に直線に近似させるようにペンの移動軌跡を設定します。実用的なプロッタの精度は0.1 mm程度です。どの作図装置を使うかによって、同じ図を描かせるプログラミングの命令語は、それぞれ異なった仕様を持ちます。コンピュータのオペレーティングシステム(OS)の環境がDOS系であったとき、ユーザは、作図装置のメーカー側で用意したグラフィックス用サブルーチンを生(なま)で使いました。カルコンプ社(Calcomp)のプロッタは、線を描かせる命令語がPLOT(X,Y,IP)の書式であって、パラメータIPでペンの上下位置の状態を指定します。この他に、作業開始と終了、ペン種の選択などを含めた数種類のコードが基本です。一方、CRTの画面に線図を描かせる場合のコードは、テクトロニクス社(Tectronix)ではMOVETO(X,Y), LINETO(X,Y)の対を提案しました。こちらの命令コードの方が直観的に分かり易いこともあって一般化し、Windows APIでも採用しています。装置が変わると、ユーザ側でサブルーチンを書き換える手間がかかります。この手間を最小にする方法が二つあります。一つはメーカー側に統一した標準化したグラフィックス言語に書き直してもらうことですので、ユーザが簡単には対応できない問題です。もう一つは、ユーザが自前のデバイスドライバ相当の中間言語を作成し、メーカー側の用意したサブルーチンを間接的に呼ぶようにします。筆者が私的に開発したグラフィックス用の命令を表11.1に示します。動詞の意義を持つ語がメソッド、形容詞的な性質を宣言するのがプロパティと解釈するのがよいでしょう。
2010.11 橋梁&都市PROJECT

前ページ  次ページ