Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-03-05
年龄: 43
帖子: 6
声望力: 0 ![]() |
![]()
三维矩阵arrCT里面是一个医学用的人头的数据,头里面我设了一个球作为病灶,数值是特定的
我用下面的代码进行显示,但显示出来整个表层都是不透明的,里面的东西自然就看不到了,失败啊 搞了一天还是不行,关键是patch函数。Help里面显示其明显是可以设透明度的,要设置 FaceAlpha 和 edge Alpha,但没有例子提示这么用 我加了'AlphaDataMapping','scaled','FaceAlpha','flat' 来试试,但总是不行,显示问题如下: Warning: Patch FaceVertexAlphaData of size 0 cannot be used with Flat Alpha.. Warning: Patch FaceVertexAlphaData of size 0 cannot be used with Flat Alpha.. 急死我了。。。。。。。。。。任务就要交了,求好心人赶紧出来帮帮我! 我的代码: D=arrCT(1:2:end,1:2:end,1:2:end); [x,y,z,D] = reducevolume(D,[1,1,1]); D = smooth3(D); p1 = patch(isosurface(x,y,z,D, 5,'verbose'), 'FaceColor','red','EdgeColor','none'); isonormals(x,y,z,D,p1); p2 = patch(isocaps(x,y,z,D, 5), 'FaceColor','interp','EdgeColor','none'); view(3); axis tight; daspect([1,1,1]) colormap(gray(100)) camlight; lighting gouraud |
![]() |
![]() |