pyvista.PolyDataFilters.decimate_pro#

PolyDataFilters.decimate_pro(reduction, feature_angle=45.0, split_angle=75.0, splitting=True, pre_split_mesh=False, preserve_topology=False, boundary_vertex_deletion=True, max_degree=None, inplace=False, progress_bar=False)[ソース]#

3角形メッシュ内の3角形の数を減らします.

元のジオメトリによく似ています.元々"3角形メッシュの間引き"で記述されたアルゴリズム,Proc Siggraph 92に基づきます(https://doi.org/10.1145/133994.134010).

パラメータ:
reductionfloat

縮小率.値が0.9の場合,元の頂点の数の10%が残ります.

feature_anglefloat, default: 45.0

エッジの定義に使用する角度(つまり,2つの隣接する3角形間のサーフェス法線が >= feature_angle, の場合,エッジが存在します.).

split_anglefloat, default: 75.0

メッシュの分割を制御するために使用する角度.分割線は,2つのエッジ接続された3角形間のサーフェス法線が split_angle 以上の場合に存在します.

splittingbool, default: True

コーナーでのメッシュの分割,エッジに沿ったメッシュの分割,非多様点でのメッシュの分割,または分割が必要な場所でのメッシュの分割をコントロールします.分割をオフにすると,メッシュの元のトポロジが保持されますが,要求された正確な間引きが得られない場合があります.

pre_split_meshbool, default: False

メッシュを,互いに切り離された半平面パッチに分離します.これにより,場合によっては優れた結果が得られます. pre_split_meshTrue に設定されている場合,メッシュは指定された split_angle で分割されます.それ以外の場合,メッシュ分割は可能な限り延期されます.

preserve_topologybool, default: False

トポロジの保存をコントロールします.オンの場合,メッシュの分割と穴の除去は行われません.これは,達成され得る最大減少を制限し得ます.

boundary_vertex_deletionbool, default: True

メッシュの境界線上の頂点の削除を許可します.これをオフにすると,最大限の削減が制限される場合があります.

max_degreefloat, optional

頂点の最大次数.ある頂点に接続する3角形の数が max_degree を超えると,その頂点は分割されます.3角形分割アルゴリズムの複雑さは max_degree**2 に比例します. max_degree を小さく設定することで,アルゴリズムのパフォーマンスを向上させることができます.

inplacebool, default: False

インプレースでメッシュを更新するかどうか.

progress_barbool, default: False

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

戻り値:
pyvista.PolyData

間引済みメッシュ

球体をデシメーションします. まず,球体をプロットします.

>>> import pyvista as pv
>>> sphere = pv.Sphere(phi_resolution=60, theta_resolution=60)
>>> sphere.plot(show_edges=True, line_width=2)
../../../_images/pyvista-PolyDataFilters-decimate_pro-1_00_00.png

それを減らしてプロットします.

>>> decimated = sphere.decimate_pro(0.75)
>>> decimated.plot(show_edges=True, line_width=2)
../../../_images/pyvista-PolyDataFilters-decimate_pro-1_01_00.png

このフィルターを使用したその他の例については, 間引き を参照してください.