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_iterint, default: 20

Laplacianスムージングの反復回数.

relaxation_factorfloat, default: 0.01

緩和係数は,1回の反復での変位量を制御します.一般に,緩和係数が低く,反復回数が多いほど,数値的に安定します.

convergencefloat, default: 0.0

反復プロセスの収束基準.数値が小さいほど,スムージングの反復が多くなります.範囲は(0から1)です.

edge_anglefloat, default: 15

エッジに沿ったスムージングを制御するエッジ角度(内部または境界のいずれか).

feature_anglefloat, default: 45

シャープエッジを識別するためのフィーチャ角度です.

boundary_smoothingbool, default: True

境界エッジのスムージングを制御するためのフラグです. True の場合,境界のエッジは固定されたままです.

feature_smoothingbool, default: False

特徴点のエッジのスムージングを制御するためのフラグ. True の場合,境界線は feature_angleedge_angle で定義されているように固定されます.

inplacebool, default: False

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

progress_barbool, default: False

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

戻り値:
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()
../../../_images/pyvista-PolyDataFilters-smooth-1_00_00.png

このフィルターを使用したその他の例については, サーフェイススムージング を参照してください.