いちからはじめる GMT その36 - psxyz -E

2010年 12月 1日 掲載


メインマシンの更新にともない,今回から GMT のバージョンを 4.5.3 に上げました. 以前(4.2.1)とオプションが少し変わっていたりしますのでご注意ください.


psxyz のつづきである. 今回は -Eオプションによる視点の方向の指定についてくわしく見ていく.

-Eオプションでは,視点の azimuth(方位)と elevation(仰角)の 2つの値を

-Eazimuth/elevation

のように指定する.

では,さっそく値をいろいろ変えてためしてみよう.

まず,サンプルデータとしては 2次元のガウス関数のデータを awk で作る.

$ awk 'BEGIN{for(x= -4;x<=4;x+=0.25){for(y= -6;y<=6;y+=0.125){print x, y, exp(-(x*x+y*y)/4)*5}print ">"}}' > gauss.txt
$ awk 'BEGIN{for(y= -6;y<=6;y+=0.25){for(x= -4;x<=4;x+=0.125){print x, y, exp(-(x*x+y*y)/4)*5}print ">"}}' >> gauss.txt

ワイアフレーム描画をするため,">" で区切った multiple segment file にした.

データができたら,azimuth(方位)の値から見ていこう.

azimuth は,0〜180度の値で,0度を指定すると北から, すなわち Y軸正の方向から見た図になる.

$ psxyz gauss.txt -Jx1 -Jz1 -R-5/5/-5/5/0/5 -m -Ba1 -E0/30 > gauss.eps

azimuth 0 -E0/30(北から)

multiple segment file を扱うには -mオプションをつける (注:昔は -M だった). 角度の変化をわかりやすくするため,-Rの XY の範囲はデータの範囲とずらしてみた. elevation は,とりあえず 30度にしておいた.

azimuth の値を大きくしていくと,視点は時計回りに移動し, 90度で東から(X軸正の方向から),180度で南から(Y軸負の方向から)見た図になる

azimuth 45 -E45/30(北東から)

azimuth 90 -E90/30(東から)

azimuth 135 -E135/30(南東から)

azimuth 180 -E180/30(南から)

次に,elevation を見てみる.

elevation は,0〜90度の値で, 0度が真横から,90度が真上からになる. 0度を指定するとエラーになるので,0.1度,30度,60度,90度の描画例を示す.

elevation 0.1 -E150/0.1(ほぼ真横)

elevation 30 -E150/30(仰角 30度)

elevation 60 -E150/60(仰角 60度)

elevation 90 -E150/90(真上から)


[ KDOホームにもどる ] [ いちからはじめる GMT インデックスにもどる ]


(C) 2010 KDO