pyvista.core.utilities.features.sample_function#

sample_function(function: ~vtkmodules.vtkCommonDataModel.vtkImplicitFunction, bounds: ~typing.Sequence[float] = (-1.0, 1.0, -1.0, 1.0, -1.0, 1.0), dim: ~typing.Sequence[int] = (50, 50, 50), compute_normals: bool = False, output_type: ~numpy.dtype = <class 'numpy.float64'>, capping: bool = False, cap_value: float = 1.7976931348623157e+308, scalar_arr_name: str = 'scalars', normal_arr_name: str = 'normals', progress_bar: bool = False)[ソース]#

構造化された点セット上の陰関数をサンプルします.

vtk.vtkSampleFunction を使用します.

このメソッドは, vtk.vtkStructuredPoints 内の各点で陰関数と法線を評価します.ユーザは,サンプリングの次元と空間上の位置を指定することができます.

閉曲面を作成するために(vtkContourFilterと組み合わせて),キャッピングをオンにしてサンプル空間の境界に特定の値を設定することができます.

パラメータ:
functionvtk.vtkImplicitFunction

評価する暗黙の関数. 例えば, perlin_noise() から生成される関数がこれにあたります.

boundssequence[float], default: (-1.0, 1.0, -1.0, 1.0, -1.0, 1.0)

以下の形式で境界を指定します.

  • (xmin, xmax, ymin, ymax, zmin, zmax).

dimsequence[float], default: (50, 50, 50)

(xdim, ydim, zdim) のフォーマットで表される,サンプリングするデータの次元.

compute_normalsbool, default: False

法線の計算を有効または無効にします.

output_typenumpy.dtype, default: numpy.double

出力スカラー型を設定します.以下のいずれかを指定します.

  • np.float64

  • np.float32

  • np.int64

  • np.uint64

  • np.int32

  • np.uint32

  • np.int16

  • np.uint16

  • np.int8

  • np.uint8

cappingbool, default: False

キャッピングの有効・無効を設定します.キャッピングが有効な場合,構造化ポイントセットの外側の境界はキャップ値に設定されます.これは,サーフェスが閉じていることを確認するために使用することができます.

cap_valuefloat, default: sys.float_info.max

capping パラメータで使用されるキャッピング値.

scalar_arr_namestr, default: "scalars"

このデータセットのスカラー配列の名前を設定します.

normal_arr_namestr, default: "normals"

このデータセットの法線配列の名前を設定します.

progress_barbool, default: False

進行状況を示す進行状況バーを表示します.

戻り値:
pyvista.ImageData

サンプリングされたデータによる一様なグリッド.

構造格子上のパーリンノイズを3Dでサンプルします.

>>> import pyvista as pv
>>> noise = pv.perlin_noise(0.1, (1, 1, 1), (0, 0, 0))
>>> grid = pv.sample_function(
...     noise, [0, 3.0, -0, 1.0, 0, 1.0], dim=(60, 20, 20)
... )
>>> grid.plot(
...     cmap='gist_earth_r', show_scalar_bar=False, show_edges=True
... )
../../../_images/pyvista-core-utilities-features-sample_function-1_00_00.png

パーリンノイズを2Dでサンプリングし,プロットします.

>>> noise = pv.perlin_noise(0.1, (5, 5, 5), (0, 0, 0))
>>> surf = pv.sample_function(noise, dim=(200, 200, 1))
>>> surf.plot()
../../../_images/pyvista-core-utilities-features-sample_function-1_01_00.png

この関数を使用した完全な例については, サンプル関数:2DでのPerlinノイズ を参照してください.