Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2008-05-14, 16:32   #1
pentiumwb
初级会员
 
注册日期: 2008-03-05
年龄: 43
帖子: 6
声望力: 0
pentiumwb 正向着好的方向发展
默认 [求助]谁知道patch函数怎么控制所显示图像的透明度

三维矩阵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
上传的图像
文件类型: jpg 20080513_3b056d23db8ac371bd71UAR34WUMDqDp.jpg (49.3 KB, 8 次查看)
pentiumwb 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 07:51


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.