メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

isocaps

R2026a

等値面 end cap 形状を計算

構文

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) は、等値面値 isovalue で、物体データ V の等値面 end cap 形状を計算します。配列 X、Y、Z は、3 次元物体 V に関する座標を定義します。

struct fvc は、end cap に対する面、頂点、およびカラー データを含んでいて、patch コマンドに直接渡すことができます。

fvc = isocaps(V,isovalue) は、配列 X、Y、Z が、[m,n,p] = size(V) である [X,Y,Z] = meshgrid(1:n,1:m,1:p) として定義されていることを前提としています。

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(...) は、struct fvc の代わりに 3 つの配列に、end cap に対する面、頂点、およびカラー データを返します。

出力引数を設定しない isocaps(...) は、計算された面、頂点、および色を使用して、パッチを作成します。

例

すべて折りたたむ

以下の例は、頭蓋骨の MRI スライスを集めたデータセットを使います。切断面上に end cap を描くための isocaps の使い方を示します。

赤い isosurface は頭蓋骨の外形を表し、end cap はその物体の中身を表しています。

end cap データ (p2) から作成される patch は、内挿された面のカラーリングを使っています。このことは、gray カラーマップと光源によって色が決まることを意味しています。等値面パッチ (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)

Figure contains an axes object. The axes object contains 2 objects of type patch.

拡張機能

すべて展開する

バージョン履歴

R2006a より前に導入