pyvista.PolyDataFilters.intersection#

PolyDataFilters.intersection(mesh, split_first=True, split_second=True, progress_bar=False)[ソース]#

2つのメッシュ間の交差を計算します.

注釈

このメソッドは,2つのメッシュ(多くの場合,線として解決されます)からサーフェスの方向を返します.一方, PolyDataFilters.boolean_intersection() フィルタは,2つの閉じた(多様体)メッシュ間の "volume" の交点を返します.

パラメータ:
meshpyvista.PolyData

交差するメッシュ.

split_firstbool, default: True

True の場合,2番目の入力メッシュとの交差で分割された最初の入力メッシュを返します.

split_secondbool, default: True

True の場合,最初の入力メッシュとの交差で分割された2番目の入力メッシュを返します.

progress_barbool, default: False

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

戻り値:
pyvista.PolyData

交差線です.

pyvista.PolyData

1番目のメッシュは,交点に沿って分割されます. split_first=False の場合,元の1番目のメッシュを返します.

pyvista.PolyData

2番目のメッシュは,交点に沿って分割されます. split_second=False の場合,元の2番目のメッシュを返します.

2つの球体を交差させ,交差,および交差ラインに沿って新しいポイント/セルを持つ両方の球体を返します.

>>> import pyvista as pv
>>> import numpy as np
>>> s1 = pv.Sphere(phi_resolution=15, theta_resolution=15)
>>> s2 = s1.copy()
>>> s2.points += np.array([0.25, 0, 0])
>>> intersection, s1_split, s2_split = s1.intersection(s2)
>>> pl = pv.Plotter()
>>> _ = pl.add_mesh(s1, style='wireframe')
>>> _ = pl.add_mesh(s2, style='wireframe')
>>> _ = pl.add_mesh(intersection, color='r', line_width=10)
>>> pl.show()
../../../_images/pyvista-PolyDataFilters-intersection-1_00_00.png

メッシュ分割には時間がかかり,どちらのメッシュでも個別にオフにすることができます.

>>> intersection, _, s2_split = s1.intersection(
...     s2, split_first=False, split_second=True
... )