addboundary
polyshape
の境界を追加
構文
説明
polyout = addboundary(
は M 個の境界を追加します。各境界の x 座標のベクトルは cell 配列内にまとめてリストされています。対応する y 座標のベクトルも cell 配列内にまとめてリストされています。xi はそれぞれ、対応する yi と同じ長さでなければなりませんが、頂点の数は境界によって異なっていてもかまいません。polyin
,{x1,x2,...,xM}
,{y1,y2,...,yM}
)
polyout = addboundary(___,
は、前述の任意の構文について、Name,Value
)polyshape
に境界を追加するための追加パラメーターを指定します。
例
多角形の境界を追加
四角形を作成してから、この四角形と三角形で構成される 2 番目の多角形を作成します。
polyin = polyshape([0 0 1 1],[0 0.5 0.5 0])
polyin = polyshape with properties: Vertices: [4x2 double] NumRegions: 1 NumHoles: 0
plot(polyin)
polyout = addboundary(polyin,[2 3 2.5],[2 2 3])
polyout = polyshape with properties: Vertices: [8x2 double] NumRegions: 2 NumHoles: 0
plot(polyout)
入力引数
polyin
— 入力 polyshape
スカラー
入力 polyshape
。スカラーとして指定します。
データ型: polyshape
x
— x 座標
ベクトル
境界の頂点の x 座標。ベクトルとして指定します。各境界の間に NaN
を配置すると、複数の境界の座標を同時に表すことができます。たとえば、polyout = addboundary(polyin,[0 0 1 NaN 1 5 5],[1 0 0 NaN 5 5 1])
は、polyin
と 2 つの追加の三角形で構成される polyshape
オブジェクトを返します。
double
型でない数値入力頂点は、自動的に double
型に変換されます。
データ型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
y
— y 座標
ベクトル
境界の頂点の y 座標。ベクトルとして指定します。各境界の間に NaN
を配置すると、複数の境界の座標を同時に表すことができます。たとえば、polyout = addboundary(polyin,[0 0 1 NaN 1 5 5],[1 0 0 NaN 5 5 1])
は、polyin
と 2 つの追加の三角形で構成される polyshape
オブジェクトを返します。
double
型でない数値入力頂点は、自動的に double
型に変換されます。
データ型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
P
— 境界の頂点
2 列の行列
境界の頂点。2 列の行列として指定します。P
の 1 列目には頂点の x 座標が含まれ、2 列目には y 座標が含まれています。P
には少なくとも 3 行がなければなりません。
各境界の間に NaN
を配置すると、複数の境界の座標を同時に表すことができます。たとえば、polyout = addboundary(polyin,[1 0; 0 0; 0 1; NaN NaN; 1 5; 5 5; 5 1])
は、polyin
と 2 つの追加の三角形で構成される polyshape
オブジェクトを返します。
double
型でない数値入力頂点は、自動的に double
型に変換されます。
データ型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
{x1,x2,...,xM}
— x 座標
ベクトルの cell 配列
M 個の境界の x 座標。ベクトルの cell 配列として指定します。xi の長さはそれぞれ異なっていてもかまいませんが、対応する yi ベクトルの長さとは一致しなければなりません。
double
型でない数値入力頂点は、自動的に double
型に変換されます。
データ型: cell
{y1,y2,...,yM}
— y 座標
ベクトルの cell 配列
M 個の境界の y 座標。ベクトルの cell 配列として指定します。yi の長さはそれぞれ異なっていてもかまいませんが、対応する xi ベクトルの長さとは一致しなければなりません。
double
型でない数値入力頂点は、自動的に double
型に変換されます。
データ型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
名前と値の引数
例: polyout = addboundary(polyin,x,y,'SolidBoundaryOrientation','ccw')
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
SolidBoundaryOrientation
— 境界の方向
'auto'
(既定値) | 'cw'
| 'ccw'
境界の方向。'SolidBoundaryOrientation'
と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。
'auto'
— 実線の境界について、頂点の方向として時計回りまたは反時計周りのいずれかを自動的に選択します。'cw'
— 時計回りの頂点の方向が実線の境界として扱われます。'ccw'
— 反時計回りの頂点の方向が実線の境界として扱われます。
ほとんどのアプリケーションでは、頂点の方向は重要ではありません。これは主に境界の入れ子を判別するためのアルゴリズム ツールです。このパラメーターは通常、多角形データが他のソフトウェアにより特定の規則を使用して作成された場合に、一貫性および効率性を確保するために指定されます。
Simplify
— 頂点の変更
true
(既定値) | false
頂点の変更。'Simplify'
と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。
true
— 入力頂点により交差や適切でない入れ子が発生する場合に、多角形の頂点を変更して、適切に定義された多角形を作成します。false
— 交差や適切でない入れ子が発生していても、入力頂点を変更しません。適切に定義されていない多角形を使用して計算すると、結果が不正確になったり、予期しないものになる可能性があります。
データ型: logical
KeepCollinearPoints
— 同一線上の頂点
false
| true
同一線上の頂点。'KeepCollinearPoints'
と、次のいずれかで構成されるコンマ区切りのペアとして指定します。
false
— 出力polyshape
が境界の定義に必要な最小数の頂点のみを含むように、同一線上の点を削除する。true
— 同一線上の点をすべて頂点として保持する。
'KeepCollinearPoints'
が指定されていない場合、その値は入力 polyshape
の作成時に使用した値に自動的に設定されます。
データ型: logical
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
コード生成用に動的メモリ割り当てを有効にしなければなりません。
名前と値のペアはコンパイル時の定数でなければなりません。
バージョン履歴
R2017b で導入
参考
MATLAB コマンド
次の 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:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)