ä¸é¢æ¯å¶ä½gifå¾çç¨åºï¼ä¾ä½ åèã
主è¦çå½ä»¤å°±æ¯getframe å imwriteã
%éç¨äºå¨ä¸å¹
å¾ä¸è¡¨ç°ç»å¾è¿ç¨ï¼å³å¾å½¢çå¢é¿è¿ç¨
%主è¦ç¨æ¥ç»å¶ä¸ç»´ç欧æå
¬å¼
clc;clear;clf;close all;
%è·å¾æ°æ®
tmax = 4*pi;
t = 0:0.01:tmax;
tmp = exp(1i*t);
x = real(tmp);
y = imag(tmp);
[a,b] = size(x);
y1 = zeros(a,b) ;
x1 = zeros(a,b);
%ç¡®å®é¦å¹
å¾çæ ·å¼ï¼å¹¶æå®æ é¢ï¼åæ è½´æ é¢çæ ·å¼
plot3(x(1,1),t(1,1),y(1,1),'black');
hold on
plot3(x(1,1),t(1,1),y1(1,1),'blue');
plot3(x1(1,1),t(1,1),y(1,1),'r');
axis([-1,1,0,tmax,-1,1])
str = ['$${e^{it}} = \cos t + i\sin t $$',char(13,10)','created by Lijunjie!'];
title({str},'Interpreter','latex')
xlabel('å®è½´');
ylabel('æ¶é´è½´');
zlabel('èè½´');
grid on;
set(gcf,'Position',[0,0,600,600], 'color','w');
set(gca,'ydir','reverse') %å转åæ è½´
%ç¡®ä¿å¾åå¨ééçè¿ç¨ä¸å
æ¬åæ è½´åæ é¢
ax = gca;
ax.Units = 'pixels';
pos = ax.Position;
ti = ax.TightInset;
rect = [-ti(1), -ti(2), pos(3)+ti(1)+ti(3), pos(4)+ti(2)+ti(4)];
%å¨æå®çèå´å
è·å¾å¾åæ件
frame = getframe(ax,rect);
im=frame2im(frame);
%å建gifæ件ï¼æå®å
¶æ ·å¼ï¼åå
¥é¦å¸§å¾å
k = 1;
%ç¨èå
åå¨ééå°çå¾åï¼æ¹ä¾¿åé¢å转å¾åç¨
[I{k},map{k}]=rgb2ind(im,256);
imwrite(I{k},map{k,1},'mygif.gif','gif','Loopcount',Inf,'DelayTime',0.2);
k = k + 1;
%ç»å¾å¹¶ééå°gifä¸
steptmp = 20; %æ¯å¹
å¾è¦ç»çç¹æ°
i = steptmp;
while i < (b-1)
x_1 = x(1,(i-steptmp+1):i+1);
t_1 = t(1,(i-steptmp+1):i+1);
y_1 = y(1,(i-steptmp+1):i+1);
y1_1 = y1(1,(i-steptmp+1):i+1);
x1_1 = x1(1,(i-steptmp+1):i+1);
plot3(x_1,t_1,y_1,'black');
hold on
plot3(x_1,t_1,y1_1,'blue');
plot3(x1_1,t_1,y_1,'r');
%ä¸é¢æ¯å¶ä½gifç主è¦ä»£ç ï¼é¤äºè°èé´éæ¶é´å¤ï¼ä¸è¬ä¸éè¦æ¹å¨
ax = gca;
ax.Units = 'pixels';
pos = ax.Position;
ti = ax.TightInset;
rect = [-ti(1), -ti(2), pos(3)+ti(1)+ti(3), pos(4)+ti(2)+ti(4)];
frame = getframe(ax,rect);
im=frame2im(frame);
[I{k},map{k}]=rgb2ind(im,256);
%åå
¥æ¨¡å¼ä¸ºâ追å â模å¼
imwrite(I{k},map{k},'mygif.gif','gif','WriteMode','append','DelayTime',0.1);
k = k + 1;
i = i + steptmp;
end
%å°å¾åæç¸åç顺åºååå
¥å°gifä¸
for i = (k-1):-1:1
imwrite(I{i},map{i},'mygif.gif','gif','WriteMode','append','DelayTime',0.1);
end
ä¸é¢æ¯ç»æå¾ï¼
