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 | ![]() |