ドキュメンテーション

目次

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

isocaps

等値面 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 形状を計算します。配列 XYZ は、3 次元物体 V に関する座標を定義します。

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

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

fvc = isocaps(...,'enclose') は、end cap に isovalue で設定された値より大きい値を含ませるか、小さい値を含ませるかを設定します。文字列 enclose は、above (既定の設定) と below のどちらかを設定することができます。

fvc = isocaps(...,'whichplane') は、end cap を描く平面を設定します。whichplane の可能な値は、all (既定の設定)、xminxmaxyminymaxzmin、または zmax です。

[f,v,c] = isocaps(...) は、構造体 fvc の代わりに 3 つの配列に、end cap に対する面、頂点、およびカラー データを返します。

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

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

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

end cap データ (p2) から作成される 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)

この情報は役に立ちましたか?