第 1 章 まずはホップ
DCL グラフィクスの基本的な操作と概念を説明し, 具体的にどうすれば図形出力が得られるかを概観しま す. ここでは, UNIX システムでDCL が標準的にインストールされていることを前提としています. そう でない環境でDCL を学び始めようという方は, まず, 基本操作のどこが違うか身近な先達に直接尋ねてみ て下さい. ここで紹介するFORTRAN プログラム自体は, どんな環境でも同じように動くようになってい ます.

1.1 基本操作

データ解析でも数値計算でも一刻も早く計算結果が見たいものですが, そんな時, DCL を用いるとわずか 数行でデータをグラフ化できます. 最初の例題として, リサジューの図形を描いてみましょう. FORTRANプログラムは HOP です.
UNIX システムでDCL が標準的にインストールされている場合には,

       %  dclfrt  -o  hop  hop.f
によってhop という実行ファイルが作られます. そこで,
       %  hop
といれると,
       WORKSTATION  ID  (I)  ?  ;
       1:X,  2:PS,  3:Tek  ;
ときいてきます. プログラムの17 行めでサブルーチンSGPWSN を呼んだので, このように今の環境で利用 可能な図形出力装置のリストが書き出されます.

この場合, 3 つの出力先が可能です. X ウインドウシステムが起動されている状態で1 を入力すると, ウイ ンドウがひとつ現れます. マウスクリックでウインドウの位置を確定すると, 描画がはじまり 画面にグラフ が得られます. このとき, 次の警告メッセージが出ると思いますが, 特に気にする必要はありません. 図形表示の終了はまたマウスクリックで行ないます.

       ***  WARNING  (STSWTR)  ***  WORKSTATION  VIEWPORT  WAS  MODIFIED.
一方, 2 (PS) を指定すると, カレントディレクトリにdcl.ps というポストスクリプトファイルができます. そこで,
       %  lpr  dcl.ps
と入力すれば, ポストスクリプトプリンタに結果が出力されます. また, 3 (Tek) を指定するとテクトロ端 末で描画ができます.

1.2 基本概念(1): 出力装置のオープンとクローズ

プログラムHOP で, DCL グラフィクスの基本的な構成を説明しておきましょう. まず, 7 行めから13 行め まででデータを作り, 実質的には20 行めから26 行めまでで図形を描いています.

まず, 出力装置のオープンとクローズに関連する3 つのサブルーチンについて説明しましょう. 例えば1 冊 のノートにグラフを描くことを思い浮かべると, 次のような手順に相当します. ノートを出してきて机の上 に置き (GROPN) , 新しいページを開いて (GRFRM) , そして, 何かグラフを描きます. 最後は, 後片付け (GRCLS) をして出来上がりです. このGRFRM とGRCLS のあいだでさまざまな作画ルーチンを呼ぶことにより, 多種 多様な図形が描けるようになります.

1.3 USGRPH: 自動スケーリング折れ線図

プログラム例HOP で具体的にグラフを描いているのは, GRFRM に続く2 つのサブルーチンです. USSTTL ルーチンで座標軸のタイトルとなる文字列を指定し, USGRPH で折れ線グラフを描いています. データがは み出さないようにx 座標とy 座標の範囲を定め, 各座標軸を描き, 座標軸のラベル(数字) とタイトル・単 位をつけます. ここでラベルが長くならないように, ファクター(y 軸の括弧内の104 ) やオフセット(同 じく+6) が自動的に用いられます. そして最後に, 与えたデータ列を実線で結びます.