MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]Matalb三维绘图设置透明度 (https://www.labfans.com/bbs/showthread.php?t=7321)

zdq_ren 2009-04-06 21:33

[求助]Matalb三维绘图设置透明度
 
我最近在做三维仿真,遇到一个难题请大家协助解决,就是使用plot3绘制三维实心立方体时如何根据各位置点不同的灰度设置透明度,使得立方体内部及背面都能看到.

我已用hidden on及hidden off试过了,不好用,hidden好像只能用于mesh,且只是在有多层图形时,将外层设置为透明,而不是对三维实心立方体的各个位置点设置不同的透明度值,请大家帮忙找找:)

麒麟子 2009-04-06 23:06

回复: [求助]Matalb三维绘图设置透明度
 
[QUOTE=zdq_ren;28023]我最近在做三维仿真,遇到一个难题请大家协助解决,就是使用plot3绘制三维实心立方体时如何根据各位置点不同的灰度设置透明度,使得立方体内部及背面都能看到.

我已用hidden on及hidden off试过了,不好用,hidden好像只能用于mesh,且只是在有多层图形时,将外层设置为透明,而...[/QUOTE]
用一下alpha看看,你看看这段代码吧,或许对你有启发
%透明度值的设置
[x,y,z,v]=flow; %创建运动特性数据,用来显示流体
p=patch(isosurface(x,y,z,v,-3)); %创建斑点式数据
isonormals(x,y,z,v,p); %创建运动特性数据
set(p,'facecolor','red','edgecolor','none'); %设置属性
daspect([1,1,1]);%创建表面图形
view(3); %设置视角
axis tight; %设置坐标轴
grid on; %网格
camlight; %设置光照效果
lighting gouraud; %设置光照效果
alpha(0.5);

zdq_ren 2009-04-07 11:40

多麒麟子支招
 
我上午用Alpha试了一下,确实收获很大,但Alpha只能作用image、patch、surface,不能对单个点作用,还没有达到我想要的效果,下午我再用scatter3试一下看

最好要能对点操作,比如我要绘制一幅透明的三维人体图,不但要能看到表面皮肤,还要能看到体内的肌肉、血管、神经、五脏六腑、骨骼等,类似这样的三维图不知大家画过没有

麒麟子 2009-04-07 13:42

回复: [求助]Matalb三维绘图设置透明度
 
[QUOTE=zdq_ren;28023]我最近在做三维仿真,遇到一个难题请大家协助解决,就是使用plot3绘制三维实心立方体时如何根据各位置点不同的灰度设置透明度,使得立方体内部及背面都能看到.

我已用hidden on及hidden off试过了,不好用,hidden好像只能用于mesh,且只是在有多层图形时,将外层设置为透明,而...[/QUOTE]
你可以再用下面几个形式试一试,或许有效
alphamap('decrease')
alphamap('rampup')
alphamap('rampdown')
alphamap('spin')
你说的问题我觉得在不同的面设置不同的透明度或许可以办到
由于我还是大二学生,对MATLAB了解不是很深,以下几个函数是我知道的可以控制透明度的,你看看吧,也许有用
hidden,alpha,AlphaData,AlphaData,Mapping,FaceAlpha,EdgeData


所有时间均为北京时间。现在的时间是 04:49

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