前言
之前看到好多网站有那种炫酷的动图,就希望自己用代码实现一下。参考网页:http://rscup.eyecool.cn/。
是不是特别炫酷?
问题分析
动图的每一帧都是由点和线构成。首先分析点。可以看到,每个点的位置都在变化,匀速向某个方向运动,最后消失在边界。每个点的运动方向是随机的。
两点之间连线。线的亮度随与这两点之间距离有关:距离越大,则线越暗。当距离大于某一阈值,则不再连线。
代码实现
% desktop_play.m
%=========================================================================
% by Qian Song Nov. 28 2018
%=========================================================================
num = 30;
max_value = 500;
p = randi(300,num,2)+100;
max_dis = sqrt(max_value^2*2);
dis_mat = zeros(num,num);
fg = figure;
for m = 1:20
delta = randi(3,num,2).*randsrc(num,2);
for i = 1:50
p = p + delta;
p(p<1) = 1;
p(p>max_value) = max_value;
for k = 1:num
dis_mat(k,:) = sqrt((p(k,1) - p(:,1)).^2 + (p(k,2) - p(:,2)).^2);
end
dis_mat = dis

本文介绍了如何使用MATLAB制作炫酷的动图,详细分析了动图中点的运动规律和线的亮度控制,并提供了代码实现过程,包括点的反射机制,帮助读者了解并创作出独特的动态图形。
最低0.47元/天 解锁文章
2540

被折叠的 条评论
为什么被折叠?



