pyvista.DataSetFilters.sample_over_line

pyvista.DataSetFilters.sample_over_line#

DataSetFilters.sample_over_line(
pointa: VectorLike[float],
pointb: VectorLike[float],
resolution: int | None = None,
tolerance: float | None = None,
progress_bar: bool = False,
)[ソース]#

データセットを1行に抽出します.

パラメータ:
pointasequence[float]

[x, y, z] 内の位置.

pointbsequence[float]

[x, y, z] 内の位置.

resolutionint, optional

線を分割する断片の数.デフォルトは入力メッシュ内のセル数です.正の整数でなければなりません.

tolerancefloat, optional

ソース内のポイントが入力のセル内にあるかどうかを計算するために使用される許容値です.指定しない場合,公差は自動的に生成されます.

progress_barbool, default: False

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

戻り値:
pyvista.PolyData

データセットからサンプリングされたデータを持つLineオブジェクト.

点群を補間している平面上でのサンプルです.

>>> import pyvista as pv
>>> import numpy as np
>>> rng = np.random.default_rng(12)
>>> point_cloud = rng.random((5, 3))
>>> point_cloud[:, 2] = 0
>>> point_cloud -= point_cloud.mean(0)
>>> pdata = pv.PolyData(point_cloud)
>>> pdata['values'] = rng.random(5)
>>> plane = pv.Plane()
>>> plane.clear_data()
>>> plane = plane.interpolate(pdata, sharpness=3.5)
>>> sample = plane.sample_over_line((-0.5, -0.5, 0), (0.5, 0.5, 0))
>>> pl = pv.Plotter()
>>> _ = pl.add_mesh(pdata, render_points_as_spheres=True, point_size=50)
>>> _ = pl.add_mesh(sample, scalars='values', line_width=10)
>>> _ = pl.add_mesh(plane, scalars='values', style='wireframe')
>>> pl.show()
../../../_images/pyvista-DataSetFilters-sample_over_line-1_00_00.png