91.2 格子状データ (grid data)

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

しかし、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

竹野茂治@新潟工科大学
2017年3月21日