サーフェスの再構築#

表面再構成は,PyVistaでは専用のフィルタが用意されており, pyvista.PolyDataFilters.reconstruct_surface() で処理されます. これは pyvista.DataSetFilters.delaunay_3d() よりもはるかに良いパフォーマンスを示す傾向があります.

import pyvista as pv

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

points = pv.wrap(pv.Sphere().points)
surf = points.reconstruct_surface()
surf
PolyDataInformation
N Cells832
N Points418
N Strips0
X Bounds-4.989e-01, 4.995e-01
Y Bounds-4.986e-01, 4.986e-01
Z Bounds-4.985e-01, 4.985e-01
N Arrays0


点群と再構成された球体をプロットします.

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()
surface reconstruction

Total running time of the script: (0 minutes 0.371 seconds)

Sphinx-Galleryによるギャラリー