MATLAB Function Reference |
計算幾何學分離表面(isosurface)的端點帽(end-cap)。
Syntax
fvc = isocaps(X,Y,Z,V,isovalue) fvc = isocaps(V,isovalue) fvc = isocaps(...,'enclose
') fvc = isocaps(...,'whichplane
') [f,v,c] = isocaps(...) isocaps(...)
Description
fvc = isocaps(X,Y,Z,V,isovalue)
計算在分離表面(isosurface)的值是isovalue
時,體積資料(volume data)V
的幾何分離表面(isofurface)和端點帽(end cap)。陣列X
、Y
和Z
為體積V
定義了座標。
而架構(struct)fvc
包含了端點帽(end cap)的表面(face)、頂點(vertex)和色彩資料(color data),同時可以直接的傳遞給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 caps)所圈住(enclose)的資料值(data values)是更多或是不足於設定(specifies)的值isovalue
。字串enclose
不是above
(預設的)就是below
。
fvc = isocaps(...,'
whichplane
')
明確說明了在哪個平面(planes)上畫出端點帽(end caps)。whichplane
可能的值有:all
(預設的)、xmin
、xmax
、ymin
、ymax
、zmin
或zmax
。
[f,v,c] = isocaps(...)
以三個陣列的方式代替結構(struct)fvc
傳回端點帽(end cap)的表面(face)、頂點(vertex)和顏色資料(color data)。
isocaps(...)
不包含輸出(output)參數(arguments)的話會畫出一個土地(patch)有著計算過(computed)的表面(face)、頂點(vertex)和色彩(color)。
Examples
這個範例使用了人類(human)頭蓋骨(skull)的MRI切片(slices)蒐集(collection)資料集(data set)。這就來解說(illustrate)如何使用isocaps
來畫出在這切斷(cut-away)體積(volume)中的端點帽(end cap)。
紅色的isosurface
顯示體積(頭蓋骨(skull))的大慨結構(outline),同時端點帽(end caps)也顯示體積裡的東西。
從端點帽資料(end cap)(p2
)創造的patch
使用插入的(interpolated)表面上色(face coloring),而其中包含了灰階(gray)的colormap
和光源(light source),來決定是如何上色的。而分離表面(isosurface)的土地(patch)(p1
)使用一個平坦(flat)的紅色表面(face)顏色,這是會受到光的影響,但不會使用到顏色表(colormap)。
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)
See Also
isosurface
, isonormals
, smooth3
, subvolume
, reducevolume
, reducepatch
ismember | isocolors |