サブルーチン UETONE を呼ぶだけで, とりあえず負の領域にトーンをつ
けることができます. 次のプログラム例 U2D2 は, U2D1 の結果
に加えて, 負の領域に斜線のハッチをつけます. ここで, 24行めで SGLSET ルーチンを呼んで, トーンに関する論理型内部変数 'LSOFTF'
を .TRUE. に設定しています. これを .FALSE.(初期値) で描く
と, 出力装置によっては先に描かれた図形が消えてしまうことがあります.
'LSOFTF' の設定を変えたり, UETONE を呼ぶ順序を USDAXS の前にしたりして, 結果がどのようになるか確かめてみましょう. ま
た, この例では, ビューポートを陽に設定して長方形にしている点にも注意し
て下さい.
Z (実数型) MX×NYの2次元配列. 作画には NX×NYの部分を使う. MX (整数型) 配列 Zの第1次元整合寸法. NX (整数型) 作画に使う配列 Zの第1次元寸法. NY (整数型) 作画に使う配列 Zの第2次元寸法. 塗り分けの設定を陽に行なわなければ, 負の領域に斜線を引く. この塗り分けレベルとパターンの設定は第6.4節を参照のこと.
PROGRAM U2D2 PARAMETER( NT=51, NZ=21 ) PARAMETER( TMIN=0, TMAX=5, ZMIN=20, ZMAX=50 ) PARAMETER( DT=(TMAX-TMIN)/(NT-1), DZ=(ZMAX-ZMIN)/(NZ-1) ) REAL U(NT,NZ) *- データ -- DO 10 J=1,NZ Z = (J-1)*DZ UZ = EXP(-0.2*Z)*(Z**0.5) DO 20 I=1,NT T = (I-1)*DT - 2.*EXP(-0.1*Z) U(I,J) = UZ*SIN(3.*T) 20 CONTINUE 10 CONTINUE *- グラフ -- WRITE(*,*) ' WORKSTATION ID (I) ? ;' CALL SGPWSN READ (*,*) IWS CALL GROPN( IWS ) CALL SGLSET( 'LSOFTF', .TRUE. ) CALL GRFRM CALL GRSWND( TMIN, TMAX, ZMIN, ZMAX ) CALL GRSVPT( 0.2, 0.9, 0.4, 0.8 ) CALL USPFIT CALL GRSTRF CALL USSTTL( 'TIME', 'YEAR', 'HEIGHT', 'km' ) CALL USDAXS CALL UDCNTR( U, NT, NT, NZ ) CALL UETONE( U, NT, NT, NZ ) CALL GRCLS ENDPROGRAM U2D2