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_cell
int
, default: 5 各セルを分割する4面体の数.
5
,6
, か12
のいずれかになります.mixed=True
の場合,この値はオーバーライドされます.- mixed
str
, 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_ids
もTrue
に設定されます.- progress_barbool, default:
False
進行状況を示す進行状況バーを表示します.
- tetra_per_cell
- 戻り値:
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()
ここで,セルの分解図に4面体プロットを生成します.
>>> tet_grid = grid.to_tetrahedra() >>> tet_grid.explode(factor=0.5).plot(show_edges=True)
同じグリッドで,最初のセルを5個のセルに,もう一つのセルを1セルあたり12個の正4面体に分割します.
>>> tet_grid = grid.to_tetrahedra(mixed=[5, 12]) >>> tet_grid.explode(factor=0.5).plot(show_edges=True)