Main Content

shrinkfaces

パッチ面のサイズの減少

構文

shrinkfaces(p,sf)
nfv = shrinkfaces(p,sf)
nfv = shrinkfaces(fv,sf)
shrinkfaces(p)
nfv = shrinkfaces(f,v,sf)
[nf,nv] = shrinkfaces(...)

説明

shrinkfaces(p,sf) は、パッチ p の面の面積を係数 sf に従って縮小します。0.6 の縮小係数では、各面は元の面積の 60% に縮小されます。パッチが共有する頂点を含んでいる場合、面の面積を縮小する前に、MATLAB® ソフトウェアによって共有のない頂点が作成されます。

nfv = shrinkfaces(p,sf) は、struct nfv に面と頂点データを返します。しかし、パッチ pFacesVertices プロパティを設定しません。

nfv = shrinkfaces(fv,sf) は、struct fv から面と頂点データを使用します。

shrinkfaces(p)shrinkfaces(fv) (縮小係数を設定しない) は、縮小係数 0.3 を仮定しています。

nfv = shrinkfaces(f,v,sf) は、配列 fv から面と頂点データを使用します。

[nf,nv] = shrinkfaces(...) は、struct の代わりに 2 つの別々の配列に面データと頂点データを返します。

すべて折りたたむ

flow データセットを読み込みます。このデータセットは無限大のタンク内での水中ジェットの速度プロファイルを表しています。面のサイズを縮小する前と後の違いを示す 2 つの等値面を作成します。

reducevolume を使用してそれぞれの点でのフロー データをサンプリングし、その後 isosurface を使用して面と頂点のデータを作成します。最初の等値面を描画します。その後、ビューを設定してタイトルを追加します。

[x,y,z,v] = flow;
[x,y,z,v] = reducevolume(x,y,z,v,2);
fv = isosurface(x,y,z,v,-3);
p1 = patch(fv);
p1.FaceColor = 'red';
p1.EdgeColor = [0.5 0.5 0.5];
daspect([1 1 1]); 
view(3); 
axis tight
title('Original')

Figure contains an axes object. The axes object with title Original contains an object of type patch.

shrinkfaces を使用して面と頂点のデータを変更し、2 番目のパッチを描画します。

figure
p2 = patch(shrinkfaces(fv,.3));
p2.FaceColor = 'red';
p2.EdgeColor = [0.5 0.5 0.5];
daspect([1 1 1]); 
view(3); 
axis tight
title('After Shrinking')

Figure contains an axes object. The axes object with title After Shrinking contains an object of type patch.

拡張機能

バージョン履歴

R2006a より前に導入