pyvista.ImageData.to_tetrahedra#

ImageData.to_tetrahedra(tetra_per_cell: int = 5, mixed: Sequence[int] | bool = False, pass_cell_ids: bool = True, pass_data: bool = True, progress_bar: bool = False)[ソース]#

4面体メッシュの構造化グリッドを作成します.

パラメータ:
tetra_per_cellint, default: 5

各セルを分割する4面体の数. 5, 6, か 12 のいずれかになります. mixed=True の場合,この値はオーバーライドされます.

mixedstr, bool, sequence, default: False

設定された場合,いくつかのセルを5つに,いくつかのセルを12つに細分化します. True に設定すると, pyvista.RectilinearGrid のアクティブセルのスカラーを使用して,セルごとに生成する4面体の数を5または12に決定します.

シーケンスの場合,これらの値を使用してセルを細分化する.文字列の場合は,アクティブ配列ではなくセル配列を使用して,セルごとに生成する4面体の数を決定します.

pass_cell_idsbool, default: True

True に設定すると,4面体が元の pyvista.RectilinearGrid のどのセルから来たかを示すスカラーデータを持つようになります.この配列の名前は cell_data 内の 'vtkOriginalCellIds' です.

pass_databool, default: True

True に設定すると,四面体メッシュに元の pyvista.RectilinearGrid のセルデータを持たせることができます.これは内部的に pass_cell_ids=True を使用しています.もし True ならば pass_cell_idsTrue に設定されます.

progress_barbool, default: False

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

戻り値:
pyvista.UnstructuredGrid

4面体セルを含みますUnstructuredGrid.

長方形のグリッドを正4面体に分割します.各セルはデフォルトで5つの正4面体を含みます.

まず,グリッドを作成し,プロットします.

>>> import numpy as np
>>> import pyvista as pv
>>> xrng = np.linspace(0, 1, 2)
>>> yrng = np.linspace(0, 1, 2)
>>> zrng = np.linspace(0, 2, 3)
>>> grid = pv.RectilinearGrid(xrng, yrng, zrng)
>>> grid.plot()
../../../_images/pyvista-ImageData-to_tetrahedra-1_00_00.png

ここで,セルの分解図に4面体プロットを生成します.

>>> tet_grid = grid.to_tetrahedra()
>>> tet_grid.explode(factor=0.5).plot(show_edges=True)
../../../_images/pyvista-ImageData-to_tetrahedra-1_01_00.png

同じグリッドで,最初のセルを5個のセルに,もう一つのセルを1セルあたり12個の正4面体に分割します.

>>> tet_grid = grid.to_tetrahedra(mixed=[5, 12])
>>> tet_grid.explode(factor=0.5).plot(show_edges=True)
../../../_images/pyvista-ImageData-to_tetrahedra-1_02_00.png