主题:[讨论]怎样画出一个透明的 3维物体
smart_shan
[专家分:0] 发布于 2007-11-30 17:49:00
请教高手 用surf怎么样才能画出 透明的 3维物体
回复列表 (共4个回复)
沙发
cxf208 [专家分:40] 发布于 2007-11-30 19:54:00
用hidden函数将网格线中的填充颜色去掉,图形就变成透明的了。
x=0:0.1:10;
y=0:0.1:10;
[X,Y]=meshgrid(x,y);
Z=X.^2+Y.^2;
surf(Z);
hold off;
mesh(X,Y,Z);
hidden off
建议你将语句一条一条的执行,这样看的明白些。其中mesh(X,Y,Z)是选中曲面的网格(我是这样理解的),hidden off是隐藏网格之间的填充颜色。详情可以查阅matlab中的help资料。
另外你可以选择用plot3函数,但是它只能画三维曲线,还可以用非数,就是将你不想看到的部分设置为非数,这样你就可以将这部分“裁去”,程序如下:
[M,N]=find(1<X&Y<3);
Z(M,N)=NaN;
surf(X,Y,Z);
希望对你有所帮助!
板凳
kfqcome [专家分:200] 发布于 2007-11-30 23:10:00
Up..
3 楼
smart_shan [专家分:0] 发布于 2007-12-01 08:58:00
谢谢了 很大的帮助阿
4 楼
cxf208 [专家分:40] 发布于 2007-12-01 16:11:00
有一个函数更好用,alpha(a),a的值越接近于0越透明,这个估计才是更准确的答案!
我来回复