Main Content

simplify

polyshape の境界を単純化

説明

polyout = simplify(polyin) は、多角形 polyin の境界で構成され、重複する頂点がすべて削除され、すべての境界の交差と適切でない入れ子が解決されている polyshape オブジェクトを返します。

polyout = simplify(polyin,'KeepCollinearPoints',TF) は、同一線上の点を polyout に保持するか削除するかを指定します。

すべて折りたたむ

境界の交差を含む多角形を作成してプロットします。

P = [0 0; 1 1; 1 0; 0.5 0.5; 0 1; 0 0];
polyin = polyshape(P,'Simplify',false)
polyin = 
  polyshape with properties:

      Vertices: [5x2 double]
    NumRegions: 1
      NumHoles: 0

plot(polyin)

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

関数 simplify を使用して交差を削除し、適切に定義された多角形を作成します。多角形を単純化すると、境界の形状は維持されますが、多角形は 2 つの個別の領域に分割されます。

polyout = simplify(polyin)
polyout = 
  polyshape with properties:

      Vertices: [7x2 double]
    NumRegions: 2
      NumHoles: 0

入力引数

すべて折りたたむ

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

データ型: polyshape

同一線上の頂点インジケーター。false または true として指定します。

  • false — 出力 polyshape が境界の定義に必要な最小数の頂点のみを含むように、同一線上の点を削除する。

  • true — 同一線上の点をすべて頂点として保持する。

'KeepCollinearPoints' パラメーターが指定されていない場合、その値は入力 polyshape の作成時に使用した値に自動的に設定されます。

データ型: logical

拡張機能

スレッドベースの環境
MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。

バージョン履歴

R2017b で導入