Matlab 如何实现 只显示三维图像的一部分呢

现有一个mathematica程序:fig=ParametricPlot3D[{x,y,x^2/9-y^2/16},{x,-3,3},{y,-4,4}];For[z1=-... 现有一个mathematica程序:
fig=ParametricPlot3D[{x,y,x^2/9-y^2/16},{x,-3,3},{y,-4,4}];
For[z1=-0.95,z1<=1,z1+=0.05,Show[fig,PlotRange->{-1,z1},BoxRatios->{1,1,(Z1+1)/2}]]
能实现三维图像随z轴的增长而增长的动画。
怎样把他改成matlab程序呢?
我就写了这些:

x=-3:0.15:3;
y=-4:0.2:4;
[x,y]=meshgrid(x,y);
z=x.^2/9-y.^2/16;
surf(x,y,z);
set(gca,*DataAspectRatio*,[3 4 1])
m=moviein(40);
for i=1:40
axis([-3,3,-4,4,-1,-1+i/20])
m(:,i)=getframe;
end
但是效果不对,坐标轴外的部分也会一直显示。
怎么让三维图形在我设置的坐标轴外的部分不显示呢。就是只显示小方盒里的图形。求大神赐教。
展开
 我来答
fptan
推荐于2016-06-20 · TA获得超过981个赞
知道大有可为答主
回答量:1150
采纳率:100%
帮助的人:666万
展开全部
必须动态修改z数据。
x=-3:0.15:3;
y=-4:0.2:4;
[x,y]=meshgrid(x,y);
z=x.^2/9-y.^2/16;
surf(x,y,z);
set(gca,'DataAspectRatio',[3 4 1])
m=moviein(40);
for i=1:40
zi=z;
zi(z>-1+i/20)=nan;
surf(x,y,(zi));
axis([-3,3,-4,4,-1,-1+i/20])
m(:,i)=getframe;
end
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式