为你心动——Matlab代码

效果图

在这里插入图片描述

n = 100;
t = linspace(0, 2*pi, n);
x = 16*sin(t).^3;
y = 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t);
handle = scatter(x, y, '.m');
ax = gca;
ax.Color = [0, 0, 0];
ax.XColor = 'none';
ax.YColor = 'none';
hold on;
handle0 = scatter(x, y, '.m');
hold off;
n = 5000;
t = linspace(0, 2*pi, n);
r = 10 - abs(normrnd(10, 1, [1, n]) - 10);
x = 16*sin(t).^3;
y = 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t);
x = r.*x;
y = r.*y;
ax.XLim = [-200, 200];
ax.YLim = [-200, 150];
handle.XData = x;
handle.YData = y;
handle0.XData = 1.2*x;
handle0.YData = 1.2*y;
n = 100;
t = linspace(0, 2*pi, n);
x = 16*sin(t).^3;
y = 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t);
handle = scatter(x, y, '.m');
ax = gca;
ax.Color = [0, 0, 0];
ax.XColor = 'none';
ax.YColor = 'none';
hold on;
handle0 = scatter(x, y, '.m');
hold off;
n = 5000;
t = linspace(0, 2*pi, n);
r = 10 - abs(normrnd(10, 1, [1, n]) - 10);
x = 16*sin(t).^3;
y = 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t);
x = r.*x;
y = r.*y;
ax.XLim = [-200, 200];
ax.YLim = [-200, 150];
handle.XData = x;
handle.YData = y;
handle0.XData = 1.2*x;
handle0.YData = 1.2*y;
len = 2000;
tt = linspace(0, 2*pi, len);
for i = 1:len
    r0 = 10 - abs(normrnd(10, 2, [1, len]) - 10);
    x0 = r0 * 16.*sin(tt).^3;
    y0 = r0 .* (13*cos(tt) - 5*cos(2*tt) - 2*cos(3*tt) - cos(4*tt));
    handle0.XData = 1.2*x0;
    handle0.YData = 1.2*y0;
    d = sqrt(x.^2 + y.^2);
    l = (d - min(d)) / (max(d) - min(d));
    c = 1 + (2 - 1.8*l)/8.*sin(80*tt(i));
    handle.XData = c.*x;
    handle.YData = c.*y;    
    drawnow;
    pause(0.01);
end

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值