| MATLAB Function Reference | ![]() |
表示
fvc = isocaps(X,Y,Z,V,isovalue) fvc = isocaps(V,isovalue) fvc = isocaps(...,'enclose') fvc = isocaps(...,'whichplane') [f,v,c] = isocaps(...) isocaps(...)
詳細
fvc = isocaps(X,Y,Z,V,isovalue) は、ある3次元データVに対して、等平面値isovalueで、等平面end cap形状を計算します。配列 X, Y, Zは、3次元Vに対する座標系を定義します。
構造体 fvc は、end capに対するフェース、頂点、カラーデータを含んでいて、直接、patch コマンドに渡すことができます。
fvc = isocaps(V,isovalue) は、配列 X, Y, Z が、[X,Y,Z] = meshgrid(1:n,1:m,1:p) で定義されることを仮定しています。ここで、[m,n,p] = size(V) です。
fvc = isocaps(...,'enclose') は、end capにisovalueで設定された値より大きい値を含ませるか、小さい値を含ませるかを設定します。文字列
enclose は、above (デフォルト) と belowのどちらかを設定することができます。
fvc = isocaps(...,'whichplane') は、end capを描く平面を設定します。ここで、whichplane は、つぎの変数すべてを設定することができます。all (デフォルト), xmin, xmax, ymin, ymax, zmin, zmax のいずれかを設定します。
[f,v,c] = isocaps(...) は、構造体fvcの代わりに3つの配列に、end capに対するフェース、頂点、カラーデータを出力します。
出力引数を設定しないisocaps(...) は、計算されたフェース、頂点、カラーを使って、パッチを描きます。
例題
つぎの例題は、頭蓋骨のMRIスライスのデータを使っています。切断面上にend capを描くためのisocaps の使い方を示します。
赤い isosurface は、頭蓋骨の外形を表わし、end capは、その物体の中身を表わしています。
End capデータから作成されるpatch は、内挿されたフェースカラーリングを使っています。このことは、グレーの colormap を使って、カラーリングは、光源に影響されていることを意味しています。等平面パッチ(p1)については、赤一色のフェースカラーを使い、光源に影響を受けていますが、カラーマップは使用していません。
load mri D =squeeze(D); D(:,1:60,:) = []; p1 = patch(isosurface(D, 5),'FaceColor','red',... 'EdgeColor','none'); p2 = patch(isocaps(D, 5),'FaceColor','interp',... 'EdgeColor','none'); view(3); axis tight; daspect([1,1,.4]) colormap(gray(100)) camlight left; camlight; lighting gouraud isonormals(D,p1)
![]()
参考
isosurface, isonormals, smooth3, subvolume, reducevolume, reducepatch
| ismember | isocolors | ![]() |