MATLAB Function Reference |
估算(Calculates)分離表面(isosurface)和土地(patch)的顏色。
Syntax
nc = isocolors(X,Y,Z,C,vertices) nc = isocolors(X,Y,Z,R,G,B,vertices) nc = isocolors(C,vertices) nc = isocolors(R,G,B,vertices) nc = isocolors(...,PatchHandle) isocolors(...,PatchHandle)
Description
nc = isocolors(X,Y,Z,C,vertices)
使用顏色值C
計算分離表面(isosurface)(土地物件(patch object))頂點(vertices)(vertices
)的顏色。陣列X
、Y
和Z
為C
中的色彩資料(color data)定義了座標,同時必須要是單調的(monotonic)向量和三維格狀(3-D plaid)的陣列(好比meshgrid
所產生的。)。色彩會在nc
中被傳回。C
一定要是三維的(3-D)(index colors)。
nc = isocolors(X,Y,Z,R,G,B,vertices)
使用了
R
、G
和B
作為紅、綠和藍三種顏色的陣列(truecolor)。
nc = isocolors(C,vertices), nc = isocolors(R,G,B,vertices)
假設X
、Y
和Z
被下列的式子給決定:
[X Y Z] = meshgrid(1:n,1:m,1:p)
nc = isocolors(...,PatchHandle)
使用了那些來自土地(patch)被PatchHandle
檢定(identified)出來的頂點。
isocolors(...,PatchHandle)
利用PatchHandle
對計算過(computed)的色彩(colors)來明確說明土地(patch),並設定該土地的FaceVertexCData
屬性。
Indexed Color Data
這個範例展示了一個分離平面(isosurface)同時使用索引過(indexed)的色彩配合亂數資料(random data)來上色。(請參考在索引過的色彩插入和真實顏色(Interpolating in Indexed Color vs. Truecolor)來獲得更多有關土地(patch)物件如何詮釋(interpret)色彩資料。)
[x y z] = meshgrid(1:20,1:20,1:20); data = sqrt(x.^2 + y.^2 + z.^2); cdata = smooth3(rand(size(data)),'box',7); p = patch(isosurface(x,y,z,data,10)); isonormals(x,y,z,data,p); isocolors(x,y,z,cdata,p); set(p,'FaceColor','interp','EdgeColor','none') view(150,30); daspect([1 1 1]);axis tight camlight; lighting phong;
Truecolor Data
這個範例展示了一個分離平面(isosurface),同時藉著真實色彩(truecolor)(RGB)的資料來上色。
[x y z] = meshgrid(1:20,1:20,1:20); data = sqrt(x.^2 + y.^2 + z.^2); p = patch(isosurface(x,y,z,data,20)); isonormals(x,y,z,data,p); [r g b] = meshgrid(20:-1:1,1:20,1:20); isocolors(x,y,z,r/20,g/20,b/20,p); set(p,'FaceColor','interp','EdgeColor','none') view(150,30); daspect([1 1 1]); camlight; lighting phong;
Modified Truecolor Data
這個範例使用isocolors
去估算(calculate)使用在分離平面(isosurface)(土地物件(patch object))頂點的真實色彩(truecolor)資料,但稍後利用變數(c
)傳回色彩資料,為的是要調整(modify)值。稍後便明確的設定分離平面(isosurface)的FaceVertexCData
為新資料(1-c
).
[x y z] = meshgrid(1:20,1:20,1:20); data = sqrt(x.^2 + y.^2 + z.^2); p = patch(isosurface(data,20)); isonormals(data,p); [r g b] = meshgrid(20:-1:1,1:20,1:20); c = isocolors(r/20,g/20,b/20,p); set(p,'FaceVertexCData',1-c) set(p,'FaceColor','interp','EdgeColor','none') view(150,30); daspect([1 1 1]); camlight; lighting phong;
See Also
isosurface
, isocaps
, smooth3
, subvolume
, reducevolume
, reducepatch
, isonormals
.
isocaps | isonormals |