📄 用matlab模仿linux下的radar屏保动画.txt
字号:
摘要: 用matlab模仿Linux下的radar屏保动画
程序:
% frame;
close all;clc;clear;
figure('Position',[1 29 1024 672]);
set(gcf,'DoubleBuffer','on');
axis square;hold on;
%%% \copyright: zjliu
%% Author's email: zjliu2001@163.com
axis([-2,2,-2,2]);
plot(2*exp(i*[0:0.01:8]),'color',[0.1,0.97,0.70],'linewidth',1);
plot(1.92*exp(i*[0:0.01:8]),'color',[0.1,0.97,0.70],'linewidth',1);
plot(1.5*exp(i*[0:0.01:8]),'color',[0.1,0.97,0.70],'linewidth',1);
plot(exp(i*[0:0.01:8]),'color',[0.1,0.97,0.70],'linewidth',1);
for k=1:6;
plot(2*[exp(i*k*pi/6),-exp(i*k*pi/6)],'color',[0.1,0.97,0.70],...
'linewidth',1);
end
for k=1:10;
t=0;
z=2*exp(i*linspace(t+pi/120*[k-1],t+pi/120*k,20));
c=[0.1,0.37+0.06*k,0.7];
F(k)=fill([0,real(z)],[0,imag(z)],c);
set(F(k),'EdgeColor',c);
end
t=0;zz=[1+rand/2]*exp(-i*pi/6);
P=plot(zz,'*');
T=text(real(zz),imag(zz),num2str(abs(zz)),'fontsize',16);
while 1;
t=t-pi/120;
for k=1:10;
z=2*exp(i*linspace(t+pi/120*[k-1],t+pi/120*k,20));
c=[0.1,0.37+0.06*k,0.7];
set(F(k),'XData',[0,real(z)],'YData',[0,imag(z)]);
set(F(k),'EdgeColor',c);
end
if mod(t+pi/12,pi/6)<pi/70 & mod(t+pi/12,pi/6)>0;
r=rand/2+1;
A=rand*pi/6+t+pi/12-pi/6;
zz=r*exp(i*A);
set(P,'XData',real(zz),'YData',imag(zz));
set(T,'Position',[real(zz),imag(zz),0],'string',num2str(r));
end
pause(0.2);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -