pyvista.voxelize_volume#
- voxelize_volume(mesh, density=None, check_surface=True)[ソース]#
メッシュをボクセル化して,RectilinearGridボクセルボリュームを作成します.
入力メッシュを包含するボクセルボリュームを作成し,ボリューム内で交差するセルまたは入力メッシュ内に含まれるセルを離散化します. "cell_data" の中の配列 "InsideMesh" は,内部のセルに対して"1"であり,外部のセルに対して "0" です.
- パラメータ:
- mesh
pyvista.DataSet
ボクセライズするメッシュ.
- density
float
| array_like[float
] 単一フロートが渡された場合のボクセルの均一サイズ.x,y,z方向に値のリストが渡される場合は,デフォルトはメッシュ長の100分の1.
- check_surfacebool, default:
True
サーフェスの閉合をチェックするかどうかを指定します.オンの場合,アルゴリズムは最初にサーフェスが閉じて多様体であるかどうかをチェックします.サーフェスが閉じていて多様体でない場合,ランタイムエラーが発生します.
- mesh
- 戻り値:
pyvista.RectilinearGrid
RectilinearGridは,離散化されたセルを持つボクセル化されたボリュームとして機能します.
例
入力メッシュから等密度ボクセルボリュームを作成します.
>>> import pyvista as pv >>> import numpy as np
PyVistaの例からファイルをロードします.
>>> from pyvista import examples >>> mesh = examples.download_cow()
等密度ボクセルボリュームを作成し,結果をプロットします.
>>> vox = pv.voxelize_volume(mesh, density=0.15) >>> cpos = [(15, 3, 15), (0, 0, 0), (0, 0, 0)] >>> vox.plot(scalars='InsideMesh', show_edges=True, cpos=cpos)
ボクセルボリュームをスライスして,
InsideMesh
を表示します.>>> slices = vox.slice_orthogonal() >>> slices.plot(scalars='InsideMesh', show_edges=True)
不均一な密度の次元からボクセルボリュームを作成し,結果をプロットします.
>>> vox = pv.voxelize_volume(mesh, density=[0.15, 0.15, 0.5]) >>> vox.plot(scalars='InsideMesh', show_edges=True, cpos=cpos)
不均等な密度のボクセルボリュームをスライスして,
InsideMesh
を表示します.>>> slices = vox.slice_orthogonal() >>> slices.plot(scalars='InsideMesh', show_edges=True, cpos=cpos)