57 マスキング (masking)

描画スタイル with mask は、マスキング領域を定義するのに使います。こ れは、同じ plot, splot コマンド上で後で指定した pm3d 曲面や画像に 適用できます。入力データは、1 つ、または複数の多角形の頂点を定義する [x,y] 座標列、または [x,y,z] 座標列として解釈します。描画スタイル with polygons と同様に、多角形は空行で分離します。マスクが 3 次元描 画コマンド (splot) の一部である場合、入力には z の値が必要ですが、しか しそれは現在のところ全く使いません。

plot コマンド上にマスク定義がある場合、その後の同じコマンド上の image 描画、pm3d 曲面が、キーワード mask を追加することでマスクされます。 マスクを定義していなければ、そのキーワードは無視します。

以下の例は、点の集合を囲む凸包を使い、ある pm3d 曲面に対応する領域をマ スクする方法を示します。

Image figure_mask


  set table $HULL
  plot $POINTS using 1:2 convexhull
  unset table


  set view map
  set multiplot layout 1,2
  splot $POINTS using 1:2:3 with pm3d, \
        $POINTS using 1:2:(0) nogrid with points
  splot $HULL using 1:2:(0) with mask, \
        $POINTS using 1:2:3 mask with pm3d
  unset multiplot

最初のパネルに対するコマンド splot は、元の点から dgrid3d で生成した マスクされていない曲面を描画し、その後で点自身を順に描画します。2 つ目 のパネルに対するコマンド splot はマスクした曲面を描画します。マスク の定義 (with mask での plot) は最初に行わなければならず、それを適用 する pm3d 曲面はその後であることに注意してください (描画スタイル with pm3d にキーワード mask をつけて変更)。 この例のより完全な版は、デモ集合 mask_pm3d.dem

内にあります。

ここには示しませんが、一つのマスクが複数の多角形領域を含み得ます。

マスキングコマンドは試験段階です。詳細は、将来のリリースで変更されるか もしれません。

竹野茂治@新潟工科大学
2024-02-16