- 积分
- 12
- 注册时间
- 2008-1-3
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2009-5-18 09:02:27
|
显示全部楼层
来自 天津
不是循环也能生成gif动画,需要每次添加一幅图片,给你一个用循环生成gif动画的程序
- %空间曲线在坐标面上的投影
- clear
- clc
- filename='xiantouying.gif';
- [x,y]=meshgrid(1:0.1:5);
- z=x.^0.456+y.^0.456+1.5;
- figure(1)
- backcolor=get(gcf,'Color');
- uicontrol(gcf,'style','text','units','normalized','pos',[0.04 0.02 0.25 0.15],...
- 'string',{'谢 * * 设计制作','QQ:56*****','天津**大学'},'fontsize',12,'fontweight','bold',...
- 'fontunits','normalized','Hor','left','ForegroundColor',[0.5,0.5,0.5],...
- 'bac',backcolor)
- set(gcf,'DoubleBuffer','on')
- surf(x,y,z)
- hold on
- quiver3(6,6,0,-1,0,0,6,'k','filled','LineWidth',2);
- quiver3(6,6,0,0,-1,0,6,'k','filled','LineWidth',2);
- quiver3(6,6,0,0,0,1,6,'k','filled','LineWidth',2);
- text(-0.2,6,0.3,'X')
- text(6,-0.2,0.4,'Y')
- text(6.2,5.5,6,'Z')
- axis equal
- axis off
- title('空间曲线在坐标面上的投影的动画演示','fontsize',14,'fontweight','bold')
- T=[ 0.9582 -0.3393 0.0000 -0.3095
- 0.0821 0.2318 0.9703 -0.6421
- 0.3292 0.9298 -0.2419 8.2473
- 0 0 0 1.0000];
- view(T)
- zlim([0 6])
- shading interp
- colormap copper
- alpha(0.6)
- for i=1:7
- drawnow; % 刷新屏幕
- pause(0.1)
- f=getframe(gcf);
- imind=frame2im(f);
- [imind,cm] = rgb2ind(imind,256);
- if i==1
- imwrite(imind,cm,filename,'gif', 'Loopcount',inf,'DelayTime',0.4);
- else
- imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.4);
- end
- end
- light('Position',[0 7 10],'Style','infinite')
- %brighten(-0.5)
- light('Position',[0 0 3],'Style','local')
- for i=1:4
- drawnow; % 刷新屏幕
- pause(0.1)
- f=getframe(gcf);
- imind=frame2im(f);
- [imind,cm] = rgb2ind(imind,256);
- imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.4);
- end
- X=x(y==5);
- Y=y(y==5);
- Z=z(y==5);
- patch([1 X' 5],[5 Y' 5],[0 Z' 0],[1 1 1])
- alpha(0.6)
- for i=1:4
- drawnow; % 刷新屏幕
- pause(0.1)
- f=getframe(gcf);
- imind=frame2im(f);
- [imind,cm] = rgb2ind(imind,256);
- imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.4);
- end
- X=x(x==5);
- Y=y(x==5);
- Z=z(x==5);
- patch([5 X' 5],[1 Y' 5],[0 Z' 0],[1 1 1])
- alpha(0.6)
- for i=1:4
- drawnow; % 刷新屏幕
- pause(0.1)
- f=getframe(gcf);
- imind=frame2im(f);
- [imind,cm] = rgb2ind(imind,256);
- imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.4);
- end
- X=x(y==1);
- Y=y(y==1);
- Z=z(y==1);
- patch([1 X' 5],[1 Y' 1],[0 Z' 0],[1 1 1])
- alpha(0.6)
- drawnow; % 刷新屏幕
- for i=1:4
- pause(0.1)
- f=getframe(gcf);
- imind=frame2im(f);
- [imind,cm] = rgb2ind(imind,256);
- imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.4);
- end
- X=x(x==1);
- Y=y(x==1);
- Z=z(x==1);
- patch([1 X' 1],[1 Y' 5],[0 Z' 0],[1 1 1])
- alpha(0.6)
- for i=1:4
- drawnow; % 刷新屏幕
- pause(0.1)
- f=getframe(gcf);
- imind=frame2im(f);
- [imind,cm] = rgb2ind(imind,256);
- imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.4);
- end
- for i=1:8
- patch([1 1 5 5],[5 1 1 5],[0 0 0 0],[0.5 0.5 0.5])
- drawnow; % 刷新屏幕
- pause(0.1)
- f=getframe(gcf);
- imind=frame2im(f);
- [imind,cm] = rgb2ind(imind,256);
- imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.4)
- patch([1 1 5 5],[5 1 1 5],[0 0 0 0],[1 0.3 0.3])
- drawnow; % 刷新屏幕
- pause(0.1)
- f=getframe(gcf);
- imind=frame2im(f);
- [imind,cm] = rgb2ind(imind,256);
- imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.4);
- end
- for i=1:5
- drawnow; % 刷新屏幕
- pause(0.1)
- f=getframe(gcf);
- imind=frame2im(f);
- [imind,cm] = rgb2ind(imind,256);
- imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.4);
- end
- hold off
复制代码 |
评分
-
1
查看全部评分
-
|