pyvista.PolyDataFilters.subdivide_adaptive#

PolyDataFilters.subdivide_adaptive(max_edge_len=None, max_tri_area=None, max_n_tris=None, max_n_passes=None, inplace=False, progress_bar=False)[ソース]#

3角形メッシュ内の3角形の数を増やします.

このフィルタでは,単純なケースベースのマルチパスアプローチを使用して,入力3角形メッシュを繰り返し再分割し,面積やエッジの長さの基準を満たします.新しいポイントはエッジ上にのみ挿入できます.サブディバイドされるエッジの数に応じて,2つ(つまり,2つの3角形が元の1つと置き換わる)から4つの範囲で異なる数の3角形が挿入されます.

ポイントとセルのデータは次のように処理されます: 親3角形のセルデータは,サブディバイドされた子に割り当てられます.エッジが再分割されると,ポイントデータはエッジに沿って補間されます.

このフィルタは,メッシュが元々水密であった場合にメッシュの水密性を保持します.面積および3角形の最大数の基準は使用されません.

パラメータ:
max_edge_lenfloat, optional

3角形が持ち得る最大エッジ長.この値より長いエッジは半分に分割され,それに応じて関連する3角形が修正されます.

max_tri_areafloat, optional

3角形の最大面積です.この値よりも大きい3角形は,この閾値を満たすように分割されます.この基準を使用すると,結果として非水密メッシュが生成される場合があることに注意してください.

max_n_trisint, optional

作成できる3角形の最大数です.制限に達すると,アルゴリズムが途中で終了し,満足のいく結果が得られない場合があります(たとえば,水密でないメッシュが作成される場合があります).デフォルトでは,制限は非常に大きな値に設定されます(つまり,有効な制限はありません).

max_n_passesint, optional

パスの最大数(つまり,再分割のレベル)です.制限に達すると,サブディビジョンプロセスが停止し,(他の基準を満たすために必要な)追加のパスが中止されます.デフォルトの制限は非常に大きな値に設定されています(つまり,有効な制限はありません).

inplacebool, default: False

in-placeメッシュを更新します.

progress_barbool, default: False

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

戻り値:
pyvista.PolyData

メッシュの細分化.

まず,サンプルの飛行機のメッシュを読み込み,プロットします.

>>> import pyvista as pv
>>> from pyvista import examples
>>> mesh = pv.PolyData(examples.planefile)
>>> mesh.plot(show_edges=True, line_width=3)
../../../_images/pyvista-PolyDataFilters-subdivide_adaptive-1_00_00.png

メッシュの細分化します

>>> submesh = mesh.subdivide_adaptive(max_n_passes=2)
>>> submesh.plot(show_edges=True)
../../../_images/pyvista-PolyDataFilters-subdivide_adaptive-1_01_00.png