'dgrid3d' utilization article described in Japanese have been often referred.
So, I have written it down in following English description.
----------------------
We assume discretized data array were prepared, and
we use 'dgrid3d' utility command in gnuplot.
Because I have ever wanted to obtain grid interpolated data
with using neighboring some specific points.
----------------------
Following description is ideal data handling.
At first, we prepare contourline map like this.
I created this image with free hand.
So, this is something messy.
----------------------
As a second phase, we obtain aligned plot data, in order of x,y,z ,
with following:
### X, Y, Z ###
0.000000 250.000000 40.0
12.886600 244.845000 40.0
25.773200 238.402000 40.0
36.082500 225.515000 40.0
43.814400 208.763000 40.0
42.525800 192.010000 40.0
37.371100 175.258000 40.0
34.793800 161.082000 40.0
30.927800 149.485000 40.0
......
0.000000 250.000000 40.0
12.886600 244.845000 40.0
25.773200 238.402000 40.0
36.082500 225.515000 40.0
43.814400 208.763000 40.0
42.525800 192.010000 40.0
37.371100 175.258000 40.0
34.793800 161.082000 40.0
30.927800 149.485000 40.0
......
##
### X, Y, Z ###
217.784000 104.381000 40.0
206.186000 99.226800 40.0
190.722000 97.938100 40.0
175.258000 88.917500 40.0
166.237000 85.051500 40.0
159.794000 76.030900 40.0
158.505000 64.433000 40.0
164.948000 60.567000 40.0
181.701000 64.433000 40.0
195.876000 68.299000 40.0
Subsequently, we plot this data with using gnuplot.
In case of normal mode, we can obtain this image.
the figure above is created with 'with line' and 'with point' options of gnuplot.
Additonaly, we type in console following commands.
gnuplot> set dgrid3d 50, 50, 4
gnuplot> splot "./map.lne" u 1:2:3 w l
this diagram is shown with grid line.
All we need is to obtain this grid line data
in the form of grid ascii data.
----------------------
As a third phase,
we type following commands,
gnuplot> set output "output.dat"
gnuplot> set table
gnuplot> replot
at this point, display images is not changed.
however, 'output.dat' is created in current working directory.
----------------------
the contents of 'output.dat' is following:
#Surface 0 of 1 surfaces
#IsoCurve 0, 50 points
#x y z type
500 30.9278 41.6448 i
500 40.4744 41.2966 i
500 50.021 41.0037 i
500 59.5676 40.7681 i
500 69.1142 40.5872 i
500 78.6608 40.4556 i
*snip*
500 441.431 43.7643 i
500 450.978 44.197 i
500 460.525 44.6666 i
500 470.071 45.1702 i
500 479.618 45.7076 i
500 489.164 46.2796 i
500 498.711 46.8864 i
#IsoCurve 1, 50 points
#x y z type
489.796 30.9278 41.2901 i
489.796 40.4744 40.945 i
....
*snip*
10.2041 498.711 43.8984 i
#IsoCurve 49, 50 points
#x y z type
0 30.9278 45.5525 i
0 40.4744 45.1661 i
0 50.021 44.7526 i
0 59.5676 44.2973 i
0 69.1142 43.7911 i
*snip*
0 470.071 42.2797 i
0 479.618 43.0064 i
0 489.164 43.7655 i
0 498.711 44.5343 i
----------------------
When I found out it, very impressed.
How about you?
----------------------
gnuplot> set dgrid3d 50, 50, 4
where, 50 and 50 indicate 50x50 grid data,
'4' is for weighting coefficient of 'power'.
----------------------
----------------------
0 件のコメント:
コメントを投稿