描画ルーチンの分解

sample01.f90 で呼んだ DclDrawScaledGraph サブルーチンがどのようなルーチンで構成されているか, 見ておきましょう.実は,

call DclDrawScaledGraph( x, y )
というサブルーチン・コールは,次の5つのサブルーチンを順に呼ぶことと同 じなのです.
call DclScalingPoint( x, y )
call DclFitScalingParm
call DclSetTransFunction
call DclDrawScaledAxis
call DclDrawLine( x, y )
データを自動的にスケーリングするためには,まず,描きたいデータすべての なかから最大値と最小値を見つける必要があります. サブルーチン DclScalingPoint がこれを行ないます. つぎの DclFitScalingParm では,これらのデータの 最大値・最小値を切りの良い数値に丸めて作画範囲を決め,ほかの「正規化変 換」のパラメータも「おまかせ」で決めます. そして,DclSetTransFunction ルーチンで「正規化変換」を確定します. ここで出てきた「正規化変換」については,次節で説明します. いまは,DclFitScalingParmDclSetTransFunction の二つのサブルーチンで,これらの作業を行なっているとだけ認識しておいて下さい.

次の DclDrawScaledAxis ルーチンは「おまかせ」で座標軸を描くルーチンです. まさに「おまかせ」ですから,引数はいりません. そして,DclDrawLine ルーチンで折れ線を描いているのです.


DclScalingPoint
(USSPNT)
グラフの中に含めたい座標点を設定する.
DclFitScalingParm
(USPFIT)
すでに設定された情報から、適当なスケーリングで正規化変換パラメータを決める.
DclSetTransFunction
(GRSTRF)
変換関数を確定する.
DclDrawScaledAxis
(USDAXS, USXAXS, USYAXS)
おまかせ座標軸を描く.
DclDrawLine
(SGPLU,SGPLZU)
ユーザー座標系で折れ線を描く.

* 括弧の中は、対応するf77インターフェイス名.

関連リンク