注釈
Go to the end to download the full example code.
PointSetの作成#
クラス :pyvista.PointSet は,点の集合を表す具象クラスで,ジオメトリを表現するために "点" の配列を明示的に使用するデータセットのためのインターフェイスを指定します.このクラスは,点群に対するフィルタのパフォーマンスを向上させるために役立ちます.
この例では, pyvista.PointSet
の pyvista.DataSetFilters.clip()
フィルターを使用してクリッピングした場合のパフォーマンスの向上を示しています.
from __future__ import annotations
import time
import pyvista as pv
from pyvista import examples
lidar = examples.download_lidar()
tstart = time.time()
clipped = lidar.clip(origin=(0, 0, 1.76e3), normal=(0, 0, 1))
t_elapsed = time.time() - tstart
print(f'Time to clip with a PolyData {t_elapsed:.2f} seconds.')
Time to clip with a PolyData 3.11 seconds.
切り取られたポリデータをプロットします
clipped.plot(show_scalar_bar=False)

PointSetを使用したときのパフォーマンスの向上を表示します. VTK >= 9.1.0 でのみ利用可能です.
Time to clip with a PointSet 0.05 seconds.
同じデータセットをプロットします.
注釈
PyVistaは,プロットできるようにするために,中間的なPolyDataを作成しなければならないので, pyvista.PointSet
を使用してもパフォーマンスが向上することはありません.
if pv.vtk_version_info >= (9, 1):
clipped_pset.plot(show_scalar_bar=False)

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