Next:欠損値格子点の取り扱い Up:2次元量の表示 Previous:とりあえず負の領域にトーンをはる

トーンパターンを指定する

u2df04.fの例のように, ただ負の領域に斜線のハッチをつけるだけでは あまりに芸がない. もちろんUEPACKでは, トーンをつけるレベルやパターンを指定することができる.


u2df05.f:page1

この例も, u2df04.fと同じようにコンターとの重ね書きをおこなっているが, プログラムの構成上大きく異なる点がある. それは, SGLSET (「GRPH1」のマニュアル参照)で 内部変数 'LSOFTF'.FALSE. として, ハードフィルを指定しているために, 座標軸の描画やコンタリングをおこなうよりも前にUETONE を呼んでいることである. UEPACKのハッチングは「GRPH1」のトーンプリミティブを用いている. トーンプリミティブは出力装置の能力に応じてハードフィルとソフトフィルとを 切替えることができるが, 出力装置によってはハードフィルによる塗りわけによって 先に描かれた図形が消えてしまうことがある. u2df04.fの例では, 内部変数 'LSOFTF'.TRUE. とし, ソフトフィルを用いていたので, そのような不都合が起こらなかった. しかしこの例では, ハードフィルを指定したので, UETONE を最初に呼んでいるわけである.

トーンの指定は, 必要なレベルの分だけUESTLVを 呼ぶことによっておこなう. (UESTLN というルーチンを用いれば, 複数のレベルを配列で指定することもできる; また UDGCLA, UDGCLB と同様のトーンレベル生成ルーチン UEGTLA, UEGTLB もある). 最初の2つの引数によってぬりわけるレベルの下限値と上限値を指定し, 最後の引数でトーンパターン番号を指定する. トーンパターンのリスト は「GRPH1」マニュアルに付されているので参照されたい. この例のUESTLVによる第1レベル目の設定のように, GLpGET/GLpSET が管理する内部変数'RMISS'を下限値として使えば 2つ目の引数で与える値以下の領域をぬりわけることができる. また第3レベル目のように, 'RMISS'を上限値として使えば最初の引数以上の部分を ぬりわけることができる. またもちろん, 第2, 3レベル目の設定のように, あるレベルの上限値と他のレベルの下限値を等しくして, 連続的なぬりわけも可能である.

Source:udegpk/u2df05.f


地球流体電脳倶楽部 DCL-5.0
Last modified: Wed Apr 30 13:59:59 1997