97.2 格子状データ (grid data)

3 次元描画のためのルーチンは、個々の網目の格子においては一つの標本点と 一つのデータ点がある、という形の格子状データ用に設計されています。各デ ータ点は、関数の値を評価すること (以下参照: set isosamples (p. [*]))、または データファイルを読み込むこと (以下参照: splot datafile (p. [*])) によって生成 されます。"孤立線" という言葉は関数に対しても、データに対してもその網 目の線を表すものとして用いられます。網目は、必ずしも x, y に関する長方 形でなくてもよく、u,v で媒介変数表示されても構わないことに注意して下さ い。以下参照: set isosamples (p. [*])

しかし、gnuplot はそのような形式を必ずしも必要とはしません。例えば関 数の場合は、samplesisosamples と違っていても構いません。すなわ ち、x-孤立線のうち、1 本の y-孤立線と交わないものがいくつかあることが あります。データファイルの場合は、個々のブロックのばらついた点の個数が 全て同じであれば、"孤立線は" はブロックの点を結び、"横断孤立線" は各ブ ロックの対応する点同士を結び、"曲面" を作ろうとします。どちらの場合で も、等高線、および隠線処理モードは点が意図したフォーマットであった場合 とは違った描画を与えることになります。ばらつきのあるデータは set dgrid3d によって{異なる}格子状データに変換することができます。

等高線に関するコードは、y-孤立線の点と、それに対応する隣の y-孤立線上 の点の間の線分に沿っての z の張力を計測します。よって、x-孤立線に、 y-孤立線との交点とはならないような標本点があるような曲面に対しては、 splot の等高線はそのような標本点を無視することになります。以下を試してみて下さい:

      set xrange [-pi/2:pi/2]; set yrange [-pi/2:pi/2]
      set style function lp
      set contour
      set isosamples 10,10; set samples 10,10;
      splot cos(x)*cos(y)
      set samples 4,10; replot
      set samples 10,4; replot

竹野茂治@新潟工科大学
2019-12-04