DCL グラフィクスの基本的な操作と概念を説明し,具体的にどうすれば図形出 力が得られるかを概観します.ここでは,UNIX システムで DCL が標準的にイ ンストールされていることを前提としています.そうでない環境で DCL を学 び始めようという方は,まず,基本操作のどこが違うか身近な先達に直接尋ね てみて下さい.ここで紹介する FORTRAN プログラム自体は,どんな環境でも 同じように動くようになっています.
UNIX システムで DCL が標準的にインストールされている場合には,
% dclfrt -o hop hop.fによって hop という実行ファイルが作られます.そこで,
% hopといれると,
WORKSTATION ID (I) ? ;ときいてきます.プログラムの17行めでサブルーチン SGPWSN を呼んだ ので,このように今の環境で利用可能な図形出力装置のリストが書き出されま す.
1:X, 2:PS, 3:Tek ;
この場合,3つの出力先が可能です.X ウインドウシステムが起動されている 状態で1を入力すると,ウインドウがひとつ現れます.マウスクリックでウイ ンドウの位置を確定すると,描画がはじまり下のようなグラフが得られます. このとき,次の警告メッセージが出ると思いますが,特に気にする必要はあり ません.図形表示の終了はまたマウスクリックで行ないます.
*** WARNING (STSWTR) *** WORKSTATION VIEWPORT WAS MODIFIED.
一方, 2 (PS)を指定すると,カレントディレクトリに dcl.ps というポストス クリプトファイルができます.そこで,
% lpr dcl.psと入力すれば,ポストスクリプトプリンタに結果が出力されます.また,3 (Tek)を指定するとテクトロ端末で描画ができます.
hop.f: frame1
.
プログラム HOP で,DCL グラフィクスの基本的な構成を説明しておき ましょう.まず,7行めから13行めまででデータを作り,実質的には20行めか ら26行めまでで図形を描いています.
まず,出力装置のオープンとクローズに関連する3つのサブルーチンについて 説明しましょう.例えば1冊のノートにグラフを描くことを思い浮かべると, 次のような手順に相当します.ノートを出してきて机の上に置き(GROPN), 新しいページを開いて(GRFRM), そして,何かグラフを描きま す.最後は,後片付け(GRCLS)をして出来上がりです.この GRFRM と GRCLS のあいだでさまざまな作画ルーチンを呼ぶことにより, 多種多様な図形が描けるようになります.
IWS (整数型) 各装置の番号. IWS>0: 横長画面,IWS<0: 縦長画面(90度回転).図形を描くために,ディスプレイやプリンタなど図形出力装置の準備をする.
新しい作画領域を設定する.
もう一度呼ぶと,いわゆる「改ページ」操作になる.
描画を終了する時の操作.
図形処理の最後に呼ぶ.
プログラム例 HOP で具体的にグラフを描いているのは,GRFRM に続く2つのサブルーチンです.USSTTL ルーチンで座標軸のタイトルと なる文字列を指定し,USGRPH で折れ線グラフを描いています.デー タがはみ出さないように x 座標と y 座標の範囲を定め,各座標軸を描き, 座標軸のラベル(数字)とタイトル・単位をつけます.ここでラベルが長くなら ないように,ファクター(y 軸の括弧内の ^-4)やオフセット (同じく +6)が自動的に用いられます.そして最後に,与えたデータ列を実 線で結びます.
CXTTL (文字型) x 座標軸のタイトル. CXUNIT (文字型) x 座標軸の単位. CYTTL (文字型) y 座標軸のタイトル. CYUNIT (文字型) y 座標軸の単位.
N (整数型) データ数. X, (実数型) 折れ線の(x,y) Y 座標値を与える配列.
NUMAGUTI Atusi <a1n@gfdl.gov> Last Modified: Thu Aug 31 13:12:18 EDT 1995