MATLAB Function Reference |
計算分離平面(isosurface)頂點(vertoces)的法線(normals)。
Syntax
n = isonormals(X,Y,Z,V,vertices)
n = isonormals(V,vertices)
n = isonormals(V,p), n =
isonormals(X,Y,Z,V,p)
n = isonormals(...,'negate')
isonormals(V,p), isonormals(X,Y,Z,V,p)
Description
n = isonormals(X,Y,Z,V,vertices)
從頂點清單(list)vertices
計算分離平面(isosurface)頂點的法線(normals)使用資料V
的梯度(gradient)。陣列X
、Y
和Z
在體積V
上定義了座標。計算過後的法線(normals)會在n
中被傳回。
n = isonormals(V,vertices)
假設陣列X
、Y
和Z
被定義成[X,Y,Z] = meshgrid(1:n,1:m,1:p)
其中[m,n,p] = size(V)
。
n = isonormals(V,p)
and n = isonormals(X,Y,Z,V,p)
被控制(handle) p
所辨識(identified)的土地,從該土地裡的頂點計算法線(normals)。
n = isonormals(...,'negate')
取消(negates)(反轉(reverse)其方向(direction))其法線(normals)。
isonormals(V,p)
和isonormals(X,Y,Z,V,p)
設定被控制(handle) p
所辨識(identified)出來的土地其VertexNormals
的屬性給計算過的法線(normals),而不是傳回來的值。
Examples
這個範例在比較不同平面(surface)下的法線(normals),在被打光(lit)的分離平面(isosurfaces)上其視覺外觀(appearance)效果(effect)。在某種情況下,用來畫出分離表面(isosurface)的三角形(triangles)是定義法線(normals)的。在別的情況下isonormals
函數根據資料點(data points)的梯度(gradient)使用體積資料去預估(calculate)頂點的法線(normals)後面的方法一般而言會產生一個看起來較為平滑(smoother-appearing)的分離表面。
定一個體積資料的三維(3-D)陣列(cat
和interp3
):
data = cat(3, [0 .2 0; 0 .3 0; 0 0 0], ... [.1 .2 0; 0 1 0; .2 .7 0],... [0 .4 .2; .2 .4 0;.1 .1 0]); data = interp3(data,3,'cubic');
從體積資料畫一個分離平面(isosurface)並加上光線。這個分離平面使用三角形(triangle)法線(patch
、isosurface
、view
、daspect
、axis
、camlight
、lighting
、title
):
subplot(1,2,1) p1 = patch(isosurface(data,.5),... 'FaceColor','red','EdgeColor','none'); view(3); daspect([1,1,1]); axis tight camlight; camlight(-80,-10); lighting phong; title('Triangle Normals')
使用來自體積資料估算(calculated)的法線(normals)來畫一個相同的被打光(lit)分離平面(isosurface)。
subplot(1,2,2) p2 = patch(isosurface(data,.5),... 'FaceColor','red','EdgeColor','none'); isonormals(data,p2) view(3); daspect([1 1 1]); axis tight camlight; camlight(-80,-10); lighting phong; title('Data Normals')
這些分離表面(isosurface)說明了三角形(triangle)與資料法線(data normals)的不同:
See Also
interp3
, isosurface
, isocaps
, smooth3
, subvolume
, reducevolume
, reducepatch
isocolors | isosurface |