pyvista.UnstructuredGridFilters.reconstruct_surface#

UnstructuredGridFilters.reconstruct_surface(nbr_sz=None, sample_spacing=None, progress_bar=False)[ソース]#

このデータセットの点から曲面を再構成します.

このフィルタは固体の 3D オブジェクトの表面上にあると想定される点のリストを受け取ります.表面までの距離の符号付き測定値が計算され,規則的なグリッドでサンプリングされます.そしてこの格子をゼロで輪郭を描き,表面を抽出します.近傍サイズとサンプル間隔のデフォルト値は,ほとんどの用途で妥当な結果を与えますが,必要に応じて設定することができます.

これは点群からサーフェスを生成するときに便利で, DataSetFilters.delaunay_3d() よりも信頼性が高いです.

パラメータ:
nbr_szint, optional

各点が持つ隣接数を指定します.これは,ローカルな面の向きを推定するために使用されます.

デフォルト値の20は,ほとんどの用途に適していますが,ポイントの広がりが不均一な場合は,より高い値を指定できます.10のような低い値でも,サーフェスによっては適切な結果が得られることがあります.高い値を設定すると,アルゴリズムに時間がかかり,鋭い境界ではエラーが発生します.

sample_spacingfloat, optional

3Dサンプリンググリッドの間隔を指定します. 設定されていない場合は,合理的な推測がなされます.

progress_barbool, default: False

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

戻り値:
pyvista.PolyData

復元された表面.

球体から点群を作成し,そこからサーフェスを再構成します.

>>> import pyvista as pv
>>> points = pv.wrap(pv.Sphere().points)
>>> surf = points.reconstruct_surface()
>>> pl = pv.Plotter(shape=(1, 2))
>>> _ = pl.add_mesh(points)
>>> _ = pl.add_title('Point Cloud of 3D Surface')
>>> pl.subplot(0, 1)
>>> _ = pl.add_mesh(surf, color=True, show_edges=True)
>>> _ = pl.add_title('Reconstructed Surface')
>>> pl.show()
../../../_images/pyvista-UnstructuredGridFilters-reconstruct_surface-1_00_00.png

このフィルターを使用したその他の例については, サーフェスの再構築 を参照してください.