Matlab实现“跳动的心”动画效果(wzl)

Matlab实现“跳动的心”动画效果(wzl)_第1张图片
首先编写使心脏跳动的函数heart(X):

function heart(X)
k_=1;   %旋转最大的角度 [0.5,1]
dt=.08; %时间间隔
t=0;    %初始时间
while t<=5
	k=(abs(t-round(t)+0.5))*k_;  %round四舍五入
                                 %t-round(t)——>[-0.5,0.5]之间
                                 %abs(t-round(t)+0.5)——>[0,1]之间
                                 %即k在[0,k_]之间变动
	G=[k 0;0 k];
	Y=G*X;  %通过与G相乘,达到放缩的效果
	plot(Y(1,:),Y(2,:),'r','LineWidth',4);
	axis([-25,25 -18 18])
	shg;
	drawnow                      %每次循环画一次图
	t=t+dt;                      %时间累加
end
end

完成heart(X)函数编写后,输入已知的曲线:

t=0:pi/100:2*pi;
x=16*(sin(t)).^3;
y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
B=[x;y];
heart(B)

最后得到心脏跳动的动画图像(这里就截个静止的图意思意思吧)
Matlab实现“跳动的心”动画效果(wzl)_第2张图片

你可能感兴趣的:(matlab,跳动的心,动画效果)