| MATLAB Function Reference | ![]() |
表示
shrinkfaces(p,sf) nfv = shrinkfaces(p,sf) nfv = shrinkfaces(fv,sf) shrinkfaces(p), shrinkfaces(fv) nfv = shrinkfaces(f,v,sf) [nf,nv] = shrinkfaces(...)
詳細
shrinkfaces(p,sf) は、パッチ p の中のフェースの面積をファクタ sf に従って、縮小します。0.6 の縮小ファクタは、各フェースのオリジナルの面積を 60% にします。共有する頂点をパッチが含んでいる場合、MATLAB は、フェース面積を縮小する前に共有のない頂点を作成します。
nfv = shrinkfaces(p,sf) は、構造体 nfv の中にフェースと頂点データを戻します。しかし、パッチ p の Faces と Vertices プロパティを設定しません。
nfv = shrinkfaces(fv,sf) は、構造体 fv からフェースと頂点データを使います。
shrinkfaces(p) と shrinkfaces(fv) (縮小ファクタを設定しない) は、縮小ファクタ 0.3 を仮定しています。
nfv = shrinkfaces(f,v,sf) は、配列 f と v からフェースと頂点データを使用します。
[nf,nv] = shrinkfaces(...) は、構造体の代わりに、2つの別々の配列にフェースデータと頂点データを戻します。
例題
この例題は、流れのデータを使って、無限タンク内の水中での噴出速度プロファイルを表わすものです(詳細は、help flow とタイプしてください)。2つの等平面が、フェースサイズを縮小する前と後での違いを示します。
reducevolume は、それぞれの点でのフローデータをサンプルし、その後、isosurface を使って、フェースと頂点データを作成します。patch コマンドは、フェース/頂点に関する構造を受け取り、最初の等平面(p1)を表示します。view を設定するために、daspect, view, axisコマンドを使い、その後で、titleを使って、タイトルを付けます。shrinkfaces コマンドは、フェース/頂点データを変更し、直接、patchに渡します。[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);
set(p1,'FaceColor','red','EdgeColor',[.5,.5,.5]);
daspect([1 1 1]); view(3); axis tight
title('Original')
figure
p2 = patch(shrinkfaces(fv,.3));
set(p2,'FaceColor','red','EdgeColor',[.5,.5,.5]);
daspect([1 1 1]); view(3); axis tight
title('After Shrinking')


参考
isocaps, isonormals, isosurface, reducepatch, reducevolume, smooth3, subvolume
| shiftdim | sign | ![]() |