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).
- パラメータ:
- reduction
float
縮小率.値が0.9の場合,元の頂点の数の10%が残ります.
- feature_angle
float
, default: 45.0 エッジの定義に使用する角度(つまり,2つの隣接する3角形間のサーフェス法線が >=
feature_angle
, の場合,エッジが存在します.).- split_angle
float
, default: 75.0 メッシュの分割を制御するために使用する角度.分割線は,2つのエッジ接続された3角形間のサーフェス法線が
split_angle
以上の場合に存在します.- splittingbool, default:
True
コーナーでのメッシュの分割,エッジに沿ったメッシュの分割,非多様点でのメッシュの分割,または分割が必要な場所でのメッシュの分割をコントロールします.分割をオフにすると,メッシュの元のトポロジが保持されますが,要求された正確な間引きが得られない場合があります.
- pre_split_meshbool, default:
False
メッシュを,互いに切り離された半平面パッチに分離します.これにより,場合によっては優れた結果が得られます.
pre_split_mesh
がTrue
に設定されている場合,メッシュは指定されたsplit_angle
で分割されます.それ以外の場合,メッシュ分割は可能な限り延期されます.- preserve_topologybool, default:
False
トポロジの保存をコントロールします.オンの場合,メッシュの分割と穴の除去は行われません.これは,達成され得る最大減少を制限し得ます.
- boundary_vertex_deletionbool, default:
True
メッシュの境界線上の頂点の削除を許可します.これをオフにすると,最大限の削減が制限される場合があります.
- max_degree
float
,optional
頂点の最大次数.ある頂点に接続する3角形の数が
max_degree
を超えると,その頂点は分割されます.3角形分割アルゴリズムの複雑さはmax_degree**2
に比例します.max_degree
を小さく設定することで,アルゴリズムのパフォーマンスを向上させることができます.- inplacebool, default:
False
インプレースでメッシュを更新するかどうか.
- progress_barbool, default:
False
進行状況を示す進行状況バーを表示します.
- reduction
- 戻り値:
pyvista.PolyData
間引済みメッシュ
例
球体をデシメーションします. まず,球体をプロットします.
>>> import pyvista as pv >>> sphere = pv.Sphere(phi_resolution=60, theta_resolution=60) >>> sphere.plot(show_edges=True, line_width=2)
それを減らしてプロットします.
>>> decimated = sphere.decimate_pro(0.75) >>> decimated.plot(show_edges=True, line_width=2)
このフィルターを使用したその他の例については, 間引き を参照してください.