Main Content

rmslivers

polyshape の境界の外れ値を削除

説明

polyout = rmslivers(polyin,tol) は、polyin の境界で構成され、外れ値の頂点が削除されている polyshape オブジェクトを返します。tol は、頂点間の相対距離の比率に基づいて境界の外れ値を定義します。

すべて折りたたむ

多角形から外れ値の境界点を削除し、突出している (アンテナのような) 不要な部分を除去します。

polyin = polyshape([0 0 2 2 1.0001 1 0.9999],[2 0 0 2 2 10 2]);
plot(polyin)
xlim([-0.5 2.5])
ylim([-2 12])

Figure contains an axes object. The axes object contains an object of type polygon.

polyout = rmslivers(polyin,0.001);
plot(polyout)
xlim([-0.5 2.5])
ylim([-2 12])

Figure contains an axes object. The axes object contains an object of type polygon.

入力引数

すべて折りたたむ

入力 polyshape。スカラー、ベクトル、行列または多次元配列として指定します。

データ型: polyshape

外れ値の許容誤差。スカラーとして指定します。入力 polyshape が配列の場合、rmsliverstol に従って配列の各要素から外れ値を削除します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

詳細

すべて折りたたむ

外れ値の許容誤差

外れ値の許容誤差は、多角形の領域にある頂点の相対距離の許容比率を指定します。たとえば、次の図で、指定された許容誤差 tol について abtol である場合、rmslivers は頂点 v を削除しません。ab>tol である場合、rmslivers は v を削除し、突出している部分を除去します。

Triangular sliver in a polygon due to vertex v. The sliver is a right triangle with side lengths a and b.

バージョン履歴

R2017b で導入

参考