2009年 12月 1日 掲載
ひさしぶりに,psxyコマンドをやります.
psxyコマンドに,-Svオプションをつけると, ベクトル Vector を描画することができる. このとき,あたえるデータには,
の 4つのパラメータが必要となる. ここで角度は x方向から反時計回りの数学座標系の角度で,単位は「度」である.
例として,まず角度を変化させた図を描いてみる. 円周上の座標から,法線方向のベクトルを描いてみた.
$ awk 'BEGIN{for(x=0;x<360;x+=30) print 2*cos(x*3.1415/180), 2*sin(x*3.1415/180), x, 1}' > arg.txt $ cat arg.txt 2 0 0 1 1.73207 0.999973 30 1 1.00005 1.73202 60 1 9.26536e-05 2 90 1 -0.999893 1.73211 120 1 -1.73197 1.00013 150 1 -2 0.000185307 180 1 -1.73216 -0.999813 210 1 -1.00021 -1.73193 240 1 -0.000277961 -2 270 1 0.999733 -1.73221 300 1 1.73188 -1.00029 330 1 $ psxy arg.txt -Jx1 -R-4/4/-4/4 -Sv > vector.eps
次は,大きさを変えてみた例.
$ awk 'BEGIN{for(x=1;x<=7;x++) print x, 0, 90, x}' > mag.txt $ cat mag.txt 1 0 90 1 2 0 90 2 3 0 90 3 4 0 90 4 5 0 90 5 6 0 90 6 7 0 90 7 $ psxy mag.txt -Jx1 -R-1/8/-1/8 -Sv > vector.eps
-Cオプションでカラーパレットファイルを指定することにより, 色を変えて描画することもできる. このときは,
の 5つのパラメータが必要となる. makecpt で rainbow のカラーパレットを作り, 7色のベクトルを描いてみる.
$ awk 'BEGIN{for(x=1;x<=7;x++) print x, 0, x , 90, 1}' > mag2.txt $ cat mag2.txt 1 0 1 90 1 2 0 2 90 1 3 0 3 90 1 4 0 4 90 1 5 0 5 90 1 6 0 6 90 1 7 0 7 90 1 $ makecpt -Crainbow -T1/7/6 -Z > rbw.cpt $ psxy mag2.txt -Jx1 -R-1/8/-1/8 -Sv -Crbw.cpt > vector.eps
これまでの -Sオプションでは,小文字と大文字で描画内容がかわっていたが, -Svオプションも同様で,-SV とするとデータの角度を方位としてあつかうようになる. -Sv では,0度が x方向で反時計回りだったが, -SV では,0度が y方向(北)で時計回りとなるのだ. 角度を30度づつかえたデータを作り,それぞれの図を描いてみよう.
$ awk 'BEGIN{for(x=0;x<=360;x+=30) print x, 0, x, 1}' > arg2.txt $ cat arg2.txt 0 0 0 1 30 0 30 1 60 0 60 1 90 0 90 1 120 0 120 1 150 0 150 1 180 0 180 1 210 0 210 1 240 0 240 1 270 0 270 1 300 0 300 1 330 0 330 1 360 0 360 1 $ psxy arg2.txt -Jx0.03/1 -R-40/400/-2/2 -Bg90a90/g1 -Sv > vector1.eps $ psxy arg2.txt -Jx0.03/1 -R-40/400/-2/2 -Bg90a90/g1 -SV > vector2.eps
psxy -Sv:
psxy -SV:
[ KDOホームにもどる ] [ いちからはじめる GMT インデックスにもどる ]
(C) 2009 KDO