ヘルプ センターヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
polyshape の境界の並べ替え
polyshape
polyout = sortboundaries(polyin,criterion,direction)
polyout = sortboundaries(polyin,'centroid',direction,'ReferencePoint',point)
polyout = sortboundaries(polyin,criterion,direction) は、指定した criterion および direction に従って境界が並べ替えられた polyshape オブジェクトを返します。たとえば、polyout = sortboundaries(polyin,'area','ascend') は境界が polyin と同じである polyshape を返します。polyout は領域別に境界を昇順にリストします。
polyin
criterion
direction
polyout = sortboundaries(polyin,'area','ascend')
polyout
例
polyout = sortboundaries(polyin,'centroid',direction,'ReferencePoint',point) は、各境界の重心から基準点までの距離に基づいて境界が並べ替えられた polyshape を返します。
'centroid'
point
すべて折りたたむ
多角形の境界を辺の数で並べ替え、境界に 1 つずつアクセスするようにします。
3 辺をもつ境界と 4 辺をもつ境界の 2 つの境界を含む多角形を作成します。
x1 = [0 1 1 0]; y1 = [0 0 1 1]; x2 = [2 3 2.5]; y2 = [2 2 3]; polyin = polyshape({x1,x2},{y1,y2}); plot(polyin)
辺の数に従って境界を降順に並べ替え、4 辺をもつ境界が最初に出力 polyshape オブジェクトでインデックス付けされるようにします。
polyout = sortboundaries(polyin,'numsides','descend');
これで、4 辺をもつ境界をインデックスに基づいて参照できるようになります。たとえば、境界の頂点にアクセスする場合や面積を計算する場合に参照します。
[x,y] = boundary(polyout,1)
x = 5×1 0 0 1 1 0
y = 5×1 0 1 1 0 0
area(polyout,1)
ans = 1
入力 polyshape。スカラー、ベクトル、行列または多次元配列として指定します。
データ型: polyshape
'area'
'perimeter'
'numsides'
並べ替え基準。次の値のいずれかとして指定します。
'area' — 境界の面積の順に並べ替え。
'perimeter' — 境界の周囲長の順に並べ替え。
'numsides' — 各境界の辺の数の順に並べ替え。
'centroid' — 各境界の重心と基準点 (0,0) との間の距離の順に並べ替え。
'ascend'
'descend'
並べ替える方向。'ascend' または 'descend' として指定します。
[0 0]
基準点。2 要素の行ベクトルとして指定します。1 番目の要素は基準点の x 座標で、2 番目の要素は y 座標です。
使用上の注意事項および制限事項:
コード生成用に動的メモリ割り当てを有効にしなければなりません。
名前と値の引数はコンパイル時の定数でなければなりません。
出力 polyshape オブジェクトの境界の順序は MATLAB での順序と異なる可能性があります。ただし、指定した入力基準に基づいて境界を並べ替えることができます。
R2017b で導入
rmboundary | sortregions | boundary | polyshape
rmboundary
sortregions
boundary
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office