pyvista.PolyDataFilters.ray_trace#

PolyDataFilters.ray_trace(origin, end_point, first_point=False, plot=False, off_screen=None)[ソース]#

単一のレイトレース計算を実行します.

これには,原点とend_pointで定義されたメッシュとラインセグメントが必要です.

パラメータ:
originsequence[float]

線分セグメントの始点.

end_pointsequence[float]

線分セグメントの終点.

first_pointbool, default: False

最初のポイントの交差のみを返します.

plotbool, default: False

レイトレースの結果をプロットするかどうか.

off_screenbool, optional

plot=True 時に画面から消えます.ユニットテストに使用します.

戻り値:
intersection_pointsnumpy.ndarray

交点の位置.交差がない場合は空の配列.

intersection_cellsnumpy.ndarray

交差セルのインデックス.交差がない場合は空の配列.

原点から [1, 0, 0] への光線と,原点を中心とする半径0.5の球との交点を計算します.

>>> import pyvista as pv
>>> sphere = pv.Sphere()
>>> point, cell = sphere.ray_trace(
...     [0, 0, 0], [1, 0, 0], first_point=True
... )
>>> f'Intersected at {point[0]:.3f} {point[1]:.3f} {point[2]:.3f}'
'Intersected at 0.499 0.000 0.000'

レイトレースのプロットを表示します.

>>> point, cell = sphere.ray_trace([0, 0, 0], [1, 0, 0], plot=True)

このフィルターを使用したその他の例については, レイトレーシング を参照してください.

../../../_images/pyvista-PolyDataFilters-ray_trace-1_00_00.png