pyvista.DataSet.find_containing_cell#

DataSet.find_containing_cell(point: ndarray[Any, dtype[number]] | Sequence[int | float] | Sequence[ndarray[Any, dtype[number]] | Sequence[int | float]]) int | ndarray[ソース]#

与えられた点を含みますセルのインデックスを検索します.

パラメータ:
pointVector, Matrix

照会する点の座標(長さ3),または形状 (n, 3)n 点の numpy.ndarray 配列です.

戻り値:
int or numpy.ndarray

指定された点を含みます,このメッシュのセルのインデックス.

バージョン 0.35.0 で変更: (1, 3) 形式の入力は (1,) 形式の numpy.ndarray を返すようになりました.

16個の同じ大きさのセルを持つ単位正方形を作成し,点 [0.3, 0.3, 0.0] を含みますセルを見つけます.

>>> import pyvista as pv
>>> mesh = pv.ImageData(
...     dimensions=[5, 5, 1], spacing=[1 / 4, 1 / 4, 0]
... )
>>> mesh
ImageData...
>>> mesh.find_containing_cell([0.3, 0.3, 0.0])
5

メッシュドメイン外の点は -1 を返します.

>>> mesh.find_containing_cell([0.3, 0.3, 1.0])
-1

メッシュ内の1000個のランダムな点を含みますセルを見つけます.

>>> import numpy as np
>>> points = np.random.random((1000, 3))
>>> indices = mesh.find_containing_cell(points)
>>> indices.shape
(1000,)