ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

reducepatch

パッチ面の数を減らす

構文

reducepatch(p,r)
nfv = reducepatch(p,r)
nfv = reducepatch(fv,r)
nfv = reducepatch(p)
nfv = reducepatch(fv)
reducepatch(...,'fast')
reducepatch(...,'verbose')
nfv = reducepatch(f,v,r)
[nf,nv] = reducepatch(...)

説明

reducepatch(p,r) は、ハンドル p で識別されるパッチ面の数を、元のオブジェクトの全体像を保持しながら減らします。MATLAB® は、減少ファクター r を、その値に依存して次の 2 とおりの解釈を行います。

  • r が 1 より小さい場合、r は元の面数に乗算すると解釈されます。たとえば、r が 0.2 の場合、面数は元のパッチの 20% になります。

  • r が 1 以上の場合、r は減少した後の面数を示します。たとえば、r を 400 とすると、面数は 400 面になるまで減少されます。

nfv = reducepatch(p,r) は、面と頂点が減少したセットを返しますが、パッチ pFacesVertices プロパティは設定しません。構造体 nfv は、減少処理した後の面と頂点を含んでいます。

nfv = reducepatch(fv,r) は、構造体 fv 内の面と頂点を減少させます。

nfv = reducepatch(p)nfv = reducepatch(fv) は、0.5 の減少値を使用します。

reducepatch(...,'fast') は、頂点が固有に共有された頂点を計算しないと仮定しています。

reducepatch(...,'verbose') は、計算の進行状況に応じて、コマンド ウィンドウにその状況を表すメッセージを表示します。

nfv = reducepatch(f,v,r) は、f の面と v の頂点に減少操作を行います。

[nf,nv] = reducepatch(...) は、配列 nfnv に面と頂点を返します。

すべて折りたたむ

パッチ面の数を減らす

この例は、面の数を元の値の 15% に削減した場合の影響を示しています。

figure
[x,y,z,v] = flow;
p = patch(isosurface(x,y,z,v,-3));
p.FaceColor = 'w';
p.EdgeColor = 'b';
daspect([1,1,1])
view(3)

面の数を減らします。

reducepatch(p,0.15)

詳細

すべて折りたたむ

ヒント

パッチが頂点を共有していない場合、MATLAB は面数を減少させる前に、共有した頂点を計算します。パッチの面が三角形でない場合、MATLAB は減少させる前に面を三角形にします。返される面は、常に三角形として定義されています。

出力される三角形の数は、減少ファクター引数 (r) で設定した値と厳密には一致しません。特に、元のパッチの面が三角形でない場合は、このような事柄が生じます。

この情報は役に立ちましたか?