有兴趣可以直接用MATLAB2013版本以上的运行,复制粘贴即可。
特别说明代码与视频都挺粗糙的,菜菜电脑很老旧了,运行不了更好的代码,视频2023年八月份录制的。
function valentinesRose0
% 0?
x=linspace(0,1,300);
theta=linspace(-2*pi,15*pi,300);
[x,theta]=meshgrid(x,theta);
phi=(pi/2).*exp(-theta./8./pi);
X=1-.5.*(1.25.*(1-mod(3.6.*theta,2*pi)./pi).^2-1/4).^2;
y=1.95653.*x.^2.*(1.27689.*x-1).^2.*sin(phi);
r=X.*(x.*sin(phi) y.*cos(phi));
roseHdl=surf(r.*cos(theta),r.*sin(theta),X.*(x.*cos(phi)-y.*sin(phi)),'EdgeColor','none');
% 1
ax=gca;hold on;grid on;
axis([-1,1,-1,1,-.5,1])
ax.FontName='Cambria';
ax.LineWidth=1;
ax.GridLineStyle='-.';
ax.Projection='perspective';
ax.XMinorTick='on';
ax.YMinorTick='on';
ax.ZMinorTick='on';
% 2
while true
theta=theta .01;
roseHdl.XData=r.*cos(theta);
roseHdl.YData=r.*sin(theta);
pause(.01),drawnow
end
end
虽然没啥人看,但是菜菜也在用心写,求个追读与月票,蟹蟹大家~。
特别说明:代码不是菜菜写的!