function drawrose2
grid on
[x,t]=meshgrid((0:24)./24,(0:0.5:575)./575.*20.*pi-4*pi);
p=(pi/2)*exp(-t./(8*pi));
change=sin(20*t)/150;
u=1-(1-mod(3.3*t,2*pi)./pi).^4./2+change;
y=2*(x.^2-x).^2.*sin(p);
r=u.*(x.*sin(p)+y.*cos(p)).*1.5;
h=u.*(x.*cos(p)-y.*sin(p));
map=[0.9176 0.7490 0.3765
0.9188 0.7513 0.3879
0.9200 0.7537 0.3992
0.9211 0.7560 0.4106
0.9223 0.7584 0.4220
0.9235 0.7608 0.4334
0.9247 0.7631 0.4447
0.9259 0.7654 0.4561
0.9270 0.7678 0.4675
0.9282 0.7702 0.4788
0.9294 0.7725 0.4902
0.9298 0.7698 0.5008
0.9302 0.7670 0.5114
0.9306 0.7643 0.5220
0.9310 0.7615 0.5326
0.9314 0.7588 0.5432
0.9317 0.7561 0.5537
0.9321 0.7533 0.5643
0.9325 0.7506 0.5749
0.9329 0.7478 0.5855
0.9333 0.7451 0.5961
0.9290 0.7404 0.5894
0.9247 0.7357 0.5828
0.9204 0.7310 0.5761
0.9161 0.7263 0.5694
0.9118 0.7215 0.5627
0.9074 0.7168 0.5561
0.9031 0.7121 0.5494
0.8988 0.7074 0.5427
0.8945 0.7027 0.5361
0.8902 0.6980 0.5294
0.8890 0.6976 0.5388
0.8878 0.6972 0.5482
0.8867 0.6968 0.5576
0.8855 0.6964 0.5670
0.8843 0.6961 0.5765
0.8831 0.6957 0.5859
0.8819 0.6953 0.5953
0.8808 0.6949 0.6047
0.8796 0.6945 0.6141
0.8784 0.6941 0.6235
0.8827 0.6988 0.6364
0.8870 0.7035 0.6494
0.8914 0.7082 0.6623
0.8957 0.7129 0.6753
0.9000 0.7177 0.6882
0.9043 0.7224 0.7011
0.9086 0.7271 0.7141
0.9130 0.7318 0.7270
0.9173 0.7365 0.7400
0.9216 0.7412 0.7529
0.9153 0.7275 0.7545
0.9090 0.7137 0.7560
0.9028 0.7000 0.7576
0.8965 0.6863 0.7592
0.8902 0.6725 0.7608
0.8839 0.6588 0.7623
0.8776 0.6451 0.7639
0.8714 0.6314 0.7655
0.8651 0.6176 0.7670
0.8588 0.6039 0.7686
0.8580 0.5906 0.7557
0.8572 0.5772 0.7427
0.8565 0.5639 0.7298
0.8557 0.5506 0.7168
0.8549 0.5373 0.7039
0.8541 0.5239 0.6910
0.8533 0.5106 0.6780
0.8526 0.4973 0.6651
0.8518 0.4839 0.6521
0.8510 0.4706 0.6392
0.8420 0.4447 0.6110
0.8330 0.4188 0.5827
0.8239 0.3930 0.5545
0.8149 0.3671 0.5263
0.8059 0.3412 0.4980
0.7969 0.3153 0.4698
0.7879 0.2894 0.4416
0.7788 0.2636 0.4134
0.7698 0.2377 0.3851
0.7608 0.2118 0.3569];
set(gca,'CameraPosition',[2 2 2])
hold on
surface(r.*cos(t),r.*sin(t),h,'EdgeAlpha',0.1,...
'EdgeColor',[0.5 0.5 0.5],'FaceColor','interp')
colormap(map)
end
function drawrose
grid on
[x,t]=meshgrid((0:24)./24,(0:0.5:575)./575.*20.*pi+4*pi);
p=(pi/2)*exp(-t./(8*pi));
change=sin(15*t)/150;
u=1-(1-mod(3.6*t,2*pi)./pi).^4./2+change;
y=2*(x.^2-x).^2.*sin(p);
r=u.*(x.*sin(p)+y.*cos(p));
h=u.*(x.*cos(p)-y.*sin(p));
map=[0.9176 0.9412 1.0000
0.9094 0.9341 0.9992
0.9011 0.9271 0.9984
0.8929 0.9200 0.9977
0.8847 0.9130 0.9969
0.8764 0.9059 0.9961
0.8682 0.8988 0.9953
0.8600 0.8918 0.9945
0.8518 0.8847 0.9938
0.8435 0.8777 0.9930
0.8353 0.8706 0.9922
0.8337 0.8698 0.9910
0.8322 0.8690 0.9898
0.8306 0.8682 0.9887
0.8290 0.8674 0.9875
0.8275 0.8667 0.9863
0.8259 0.8659 0.9851
0.8243 0.8651 0.9839
0.8227 0.8643 0.9828
0.8212 0.8635 0.9816
0.8196 0.8627 0.9804
0.8078 0.8521 0.9765
0.7961 0.8415 0.9726
0.7843 0.8310 0.9686
0.7726 0.8204 0.9647
0.7608 0.8098 0.9608
0.7490 0.7992 0.9569
0.7373 0.7886 0.9530
0.7255 0.7781 0.9490
0.7138 0.7675 0.9451
0.7020 0.7569 0.9412
0.6836 0.7400 0.9396
0.6651 0.7232 0.9381
0.6467 0.7063 0.9365
0.6282 0.6894 0.9349
0.6098 0.6725 0.9334
0.5914 0.6557 0.9318
0.5729 0.6388 0.9302
0.5545 0.6219 0.9286
0.5360 0.6051 0.9271
0.5176 0.5882 0.9255
0.5027 0.5776 0.9271
0.4878 0.5670 0.9286
0.4729 0.5565 0.9302
0.4580 0.5459 0.9318
0.4431 0.5353 0.9334
0.4282 0.5247 0.9349
0.4133 0.5141 0.9365
0.3984 0.5036 0.9381
0.3835 0.4930 0.9396
0.3686 0.4824 0.9412
0.3623 0.4742 0.9404
0.3561 0.4659 0.9396
0.3498 0.4577 0.9388
0.3435 0.4494 0.9380
0.3372 0.4412 0.9373
0.3310 0.4330 0.9365
0.3247 0.4247 0.9357
0.3184 0.4165 0.9349
0.3122 0.4082 0.9341
0.3059 0.4000 0.9333
0.2981 0.3918 0.9235
0.2902 0.3835 0.9137
0.2824 0.3753 0.9039
0.2745 0.3670 0.8941
0.2667 0.3588 0.8843
0.2589 0.3506 0.8745
0.2510 0.3423 0.8647
0.2432 0.3341 0.8549
0.2353 0.3258 0.8451
0.2275 0.3176 0.8353
0.2169 0.3086 0.8165
0.2063 0.2996 0.7977
0.1957 0.2906 0.7788
0.1851 0.2816 0.7600
0.1746 0.2726 0.7412
0.1640 0.2635 0.7224
0.1534 0.2545 0.7036
0.1428 0.2455 0.6847
0.1322 0.2365 0.6659
0.1216 0.2275 0.6471];
set(gca,'CameraPosition',[2 2 2])
hold on
surface(r.*cos(t),r.*sin(t),h,'EdgeAlpha',0.1,...
'EdgeColor',[0 0 0],'FaceColor','interp')
colormap(map)
end
% matlab动态心形曲线(保存GIF格式)
clc;clear all;
a=10;
x=-2:0.01:2;
figure(1);
set(gcf,'position',[0,0,800,600],'color','w');
for i=1:100
str_title = strcat('\color{red}a=',num2str(a));
y = abs(x).^(2/3)+(0.9*sqrt((3.3-x.^2))).*sin(a*pi*x);
a=i/10;
figure(i);
set(gcf,'position',[0,0,800,600],'color','w');
p1 = plot(x,y,'r','LineWidth',3);
hold on;
title('\color{red}f(x)=x^2^/^3+e/3*(π-x^2)^1^/^2*sin(a*π*x)','fontsize',15);
text(-0.2,2.3,str_title,'FontName','Times New Roman','FontSize',20);
xlim([-2 2]);
ylim([-1.5 2.5]);
frame = getframe(gcf);
im = frame2im(frame);
[I,map] = rgb2ind(im,256);
if i==1
imwrite(I,map,'心形图.gif','gif','Loopcount',Inf,'DelayTime',0.05);
else
imwrite(I,map,'心形图.gif','gif','WriteMode','append','DelayTime',0.05);
end
close(figure(i));
end