pyvista.PolyDataFilters.smooth#
- PolyDataFilters.smooth(n_iter=20, relaxation_factor=0.01, convergence=0.0, edge_angle=15, feature_angle=45, boundary_smoothing=True, feature_smoothing=False, inplace=False, progress_bar=False)[ソース]#
Laplacianスムージングを使用してポイント座標を調整します.
この効果は,メッシュを "リラックスする" して,セルのシェイプを改善し,頂点をより均等に分散させることです.
- パラメータ:
- n_iter
int
, default: 20 Laplacianスムージングの反復回数.
- relaxation_factor
float
, default: 0.01 緩和係数は,1回の反復での変位量を制御します.一般に,緩和係数が低く,反復回数が多いほど,数値的に安定します.
- convergence
float
, default: 0.0 反復プロセスの収束基準.数値が小さいほど,スムージングの反復が多くなります.範囲は(0から1)です.
- edge_angle
float
, default: 15 エッジに沿ったスムージングを制御するエッジ角度(内部または境界のいずれか).
- feature_angle
float
, default: 45 シャープエッジを識別するためのフィーチャ角度です.
- boundary_smoothingbool, default:
True
境界エッジのスムージングを制御するためのフラグです.
True
の場合,境界のエッジは固定されたままです.- feature_smoothingbool, default:
False
特徴点のエッジのスムージングを制御するためのフラグ.
True
の場合,境界線はfeature_angle
とedge_angle
で定義されているように固定されます.- inplacebool, default:
False
in-placeメッシュを更新します.
- progress_barbool, default:
False
進行状況を示す進行状況バーを表示します.
- n_iter
- 戻り値:
pyvista.PolyData
滑らかなメッシュ.
例
すべての3角形の立方体のエッジを平滑化します
>>> import pyvista as pv >>> cube = pv.Cube().triangulate().subdivide(5) >>> smooth_cube = cube.smooth(1000, feature_smoothing=False) >>> n_edge_cells = cube.extract_feature_edges().n_cells >>> n_smooth_cells = smooth_cube.extract_feature_edges().n_cells >>> f'Sharp Edges on Cube: {n_edge_cells}' 'Sharp Edges on Cube: 384' >>> f'Sharp Edges on Smooth Cube: {n_smooth_cells}' 'Sharp Edges on Smooth Cube: 12' >>> smooth_cube.plot()
このフィルターを使用したその他の例については, サーフェイススムージング を参照してください.