以下に現れる fname は、サブルーチンを呼ぶときにユーザが指定したファイル名のプレフィックスに置き換えてください。
# value = 7.44946E-01
-0.58154E+01 -0.13154E+01
-0.57500E+01 -0.13536E+01
-0.55588E+01 -0.14412E+01
-0.54824E+01 -0.14824E+01
.....
.....
-0.63083E+01 -0.80829E+00
-0.62500E+01 -0.87324E+00
-0.61049E+01 -0.11049E+01
-0.58845E+01 -0.12500E+01
-0.58154E+01 -0.13154E+01
= =
0.41521E+01 -0.13479E+01
0.42500E+01 -0.13990E+01
0.44970E+01 -0.14970E+01
0.45010E+01 -0.14990E+01
.....
.....
new file
file::file='fname.1'
file::x=1
file::y=2
file::type=line
file::R=0
file::G=0
file::B=255
new text
text::x=18500
text::y=5200
text::pt=800
text::text=' 1.48761E-01'
text::R=0
text::G=0
text::B=255
new line
line::R=0
line::G=0
line::B=255
line::arrow=none
line::points=' 17500 5120 18300 5120'
....
# value = 3.47490E-01
-0.57719E+01 -0.37719E+01
-0.57500E+01 -0.37794E+01
-0.57111E+01 -0.37889E+01
-0.53767E+01 -0.38767E+01
.....
.....
-0.62500E+01 -0.36057E+01
-0.61470E+01 -0.36470E+01
-0.58262E+01 -0.37500E+01
-0.57719E+01 -0.37719E+01
= =
# value = 5.46218E-01
-0.62754E+01 -0.17754E+01
-0.62500E+01 -0.17928E+01
-0.61255E+01 -0.18745E+01
-0.59785E+01 -0.19785E+01
.....
.....
new file
file::file='fname.dat'
file::x=1
file::y=2
file::type=line
file::R=0
file::G=0
file::B=0
# val = 2.84938E-01 ~
4.24963E-01
-4.60000E+00 -5.20000E+00 -2.73333E+00
-5.13333E+00
2.73333E+00 -5.20000E+00 4.60000E+00
-5.13333E+00
-5.06667E+00 -5.13333E+00 -2.13333E+00
-5.06667E+00
2.13333E+00 -5.13333E+00 5.06667E+00
-5.06667E+00
-5.33333E+00 -5.06667E+00 -1.53333E+00
-5.00000E+00
1.53333E+00 -5.06667E+00 5.33333E+00
-5.00000E+00
-5.60000E+00 -5.00000E+00 -8.66666E-01
-4.93333E+00
.......
new file
file::file='fname.1'
file::x=1
file::y=3
file::type=rectangle_solid_fill
file::R=0
file::G=0
file::B=255
new text
text::x=2000
text::y=5200
text::pt=800
text::text=' 1.48761E-01 ~ 3.47490E-01'
text::R=0
text::G=0
text::B=255
new rectangle
rectangle::R=0
rectangle::G=0
rectangle::B=255
rectangle::fill=true
rectangle::x1=1000
rectangle::y1=4900
rectangle::x2=1800
rectangle::y2=5200
......
# val = 4.71404E-01~ 9.42809E-01
# x
y u
v w
0.00000E+00 -9.00000E-01 0.00000E+00 -9.00000E-01
9.00000E-01 0.00000E+00 -9.90000E-01
-6.00000E-01 -6.00000E-01 6.00000E-01 -6.00000E-01
8.48528E-01 -5.40000E-01 -6.60000E-01
-3.00000E-01 -6.00000E-01 3.00000E-01 -6.00000E-01
6.70820E-01 -2.70000E-01 -6.60000E-01
0.00000E+00 -6.00000E-01 0.00000E+00 -6.00000E-01
6.00000E-01 0.00000E+00 -6.60000E-01
3.00000E-01 -6.00000E-01 -3.00000E-01 -6.00000E-01
6.70820E-01 2.70000E-01 -6.60000E-01
.........
new file
file::file='fname.1'
file::x=1
file::y=6
file::type=arrow
file::R=0
file::G=0
file::B=255
new text
text::x=2000
text::y=26200
text::pt=800
text::text=' 0.00000E+00 ~ 4.71404E-01'
text::R=0
text::G=0
text::B=255
new rectangle
rectangle::R=0
rectangle::G=0
rectangle::B=255
rectangle::fill=true
rectangle::x1=1000
rectangle::y1=25900
rectangle::x2=1800
rectangle::y2=26200
.......
MIN=${axis:fX1:min}
MAX=${axis:fX1:max}
AXISX=${axis:fU1:x}
AXISL=${axis:fU1:length}
X1=1000
Y1=23000
L=4.00000E-01
X2=`expr "$X1+$AXISL/($MAX-$MIN)*$L"`
new line
line::points="$X1 $Y1 $X2 $Y1"
line::arrow=end
new text
text::text=' 4.00000E+00'
text::x=$X2
text::y=23080
text::pt=800
# x
y u
v
-3.00000E+00 -3.00000E+00 3.00000E+00 -3.00000E+00
-2.70000E+00 -3.30000E+00
-2.70000E+00 -3.00000E+00 2.70000E+00 -3.00000E+00
-2.43000E+00 -3.30000E+00
-2.40000E+00 -3.00000E+00 2.40000E+00 -3.00000E+00
-2.16000E+00 -3.30000E+00
-2.10000E+00 -3.00000E+00 2.10000E+00 -3.00000E+00
-1.89000E+00 -3.30000E+00
-1.80000E+00 -3.00000E+00 1.80000E+00 -3.00000E+00
-1.62000E+00 -3.30000E+00
........
new file
file::file='fname.dat'
file::x=1
file::y=5
file::type=arrow
MIN=${axis:fX1:min}
MAX=${axis:fX1:max}
AXISX=${axis:fU1:x}
AXISL=${axis:fU1:length}
X1=1000
Y1=23000
L=4.00000E-01
X2=`expr "$X1+$AXISL/($MAX-$MIN)*$L"`
new line
line::points="$X1 $Y1 $X2 $Y1"
line::arrow=end
new text
text::text=' 4.00000E+00'
text::x=$X2
text::y=23080
text::pt=800
ngfrma
j = 1, i = nx, j = ny, i = 1 のように左回りで一番外側の点の座標を出力します。各行に、x座標、y座標の値が並んで出力されます。
ngfrms
まず i = i1, j = j2, i = i2, j = j1 のように一番外側の点の座標を右回りで出力した後、マスク領域(nmsk(i,j)が0でない点)を左回りに取り巻くようにマスク領域の外縁の座標を出力します。(描画領域は、点列をたどってできる線の右側になります。)
出力データの一部
-9.75000E+00 -9.75000E+00
-9.25000E+00 -9.75000E+00
-8.75000E+00 -9.75000E+00
-8.25000E+00 -9.75000E+00
....
....
new file
file::file="frame.dat"
file::x=1
file::y=2
file::type=line
まず A のように格子点を横方向左から右に走査し、右端で一つ上の左端の点に移動しながら格子点の座標を出力します。右端点の出力後およびマスク領域(nmsk(i,j)が0でない点)で区切りとして'= =' を出力します。次に、B のように格子点を縦方向下から上に走査して、上端で一つ右の下端に移動しながら格子点の座標を出力します。上端点の出力後およびマスク領域で '==' を出力します。
出力データの一部
-9.75000E+00 -9.75000E+00
-9.25000E+00 -9.75000E+00
-8.75000E+00 -9.75000E+00
...
...
8.75000E+00 -9.75000E+00
9.25000E+00 -9.75000E+00
9.75000E+00 -9.75000E+00
= =
-9.75000E+00 -9.25000E+00
-9.25000E+00 -9.25000E+00
-8.75000E+00 -9.25000E+00
....
...
new file
file::file="fname.dat"
file::x=1
file::y=2
file::type=line