图片 生成gif动图"/>
MATLAB 用很多图片 生成gif动图
不想动手调程序的可以试试这个任意大小屏幕录制成gif图的软件。
MATLAB 用很多图片 生成gif动图
1、生成很多图
我这里画了cos曲线和一个圆, (x0,y0)是切点,x0取值t = linspace(0.1,0.9,10);
(xc,yc)是圆心。计算好之后,使用plot(xxxx1,y1,‘r’,xxxx2,y2,‘b’);%画出函数1和函数2的图形,然后saveas(gcf, num2str(count_num_single), ‘jpg’);保存这张图,图名生成的。x0有10个点,循环10次,这样就能得到10张图。
clc
clear allpi=3.1415926;%目的就是根据切点画图
t = linspace(0.1,0.9,10); % 手定
count_num_single=1;
w=1; % 改变胖瘦for x0=ty0 = cos(w*x0+pi) ; % (x0,y0)是切点 根据函数公式和已经的x0得到y0y0i=(-w) * sin(w*x0+pi);%导数yc = -2.8; % (xc,yc)是圆心 最后要满足条件 -yc<R 才能让圆的最高点在第四象限syms xc R % R是圆半径 xc是圆心的横坐标% enqs变量就是2个方程式 就是联立1和2的式子eqns = [(x0 - xc)^2 + (y0 - yc)^2 - R^2==0, (y0 - yc) / (x0 - xc) * y0i + 1==0];vars = [xc R];[xc, R] = solve(eqns, vars);xc=vpa(xc,4);R=vpa(R,4);xc=double(xc);R=double(R);xc=max(xc);R=max(R);%下面几句是画图形xxxx1=linspace(-pi,2*pi,2000);%给出范围xxxx2=linspace(xc-R,xc+R,2000);%给出范围y1=cos(w*xxxx1+pi);%范围内的函数1y2=sqrt(R^2-(xxxx2 - xc).^2)+yc;%范围内的函数2plot(xxxx1,y1,'r',xxxx2,y2,'b');%画出函数1和函数2grid on;axis equal;saveas(gcf, num2str(count_num_single), 'jpg');count_num_single=count_num_single+1;
end
2、生成gif图
刚才生成的图,读出来,写入到gif图,最终成动图。
num=count_num_single-1;
for i=1:numstr = strcat(num2str(i), '.jpg');A=imread(str);[I,map]=rgb2ind(A,256);if(i==1)imwrite(I,map,'movefig.gif','DelayTime',0.1,'LoopCount',Inf)elseimwrite(I,map,'movefig.gif','WriteMode','append','DelayTime',0.1)end
end
效果图:
更多推荐
MATLAB 用很多图片 生成gif动图
发布评论