TA的每日心情 | 衰 2019-11-19 15:32 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
& ^- T+ U) `; D a. I( A' F一、简介# B3 r1 T; r2 ^2 Y w. @2 S3 d
基于matlab时钟设计7 w! P$ [" W( Q1 p- g5 N6 R
0 ?' G X- ]) w* e* l
/ n# T$ O2 J) Y0 N V. a' |' `二、源代码
m$ I2 l! i6 O/ s4 x8 H
% B, t @. t4 X& k- function timeCompass()
- %h_comaps = compass([x1;x2;x2],[y1;y2;y3])
- %x1y1 x2y2 x3y3 为三个指针向量 h_compass为句柄
- %%创建坐标轴做为显示表盘,并隐藏
- hAxes = axes('visible','off','DrawMode','fast');
- %%绘制表盘中心点
- hAxESDot = axes('Visible','off','DrawMode','fast');
- axis equal;
- line(0,0,'Parent',hAxesDot,'Marker','o','MarkeRFaceColor','k','MarkerSize',15)
- try
- while 1
- %%获取当前时间
- time = floor(clock); %向下取整 clock:将当前时间和日期返回到一个(6元)数组中。
- hour = time(4); % 2008 8 26 12 31 32.75
- min = time(5);
- sec = time(6);
- %fprintf(hour);
- argHour = pi/2 - (hour + min / 60) * pi / 6;
- argMin = pi/2 - (min + sec / 60) * pi / 30;
- argSec = pi/2 -sec * pi/30;
- %根据计算的指针弧度值创建表盘和指针
- hCompass = compass(hAxes,[0.5*cos(argHour);0.8*cos(argMin);cos(argSec)],[0.5*sin(argHour);0.8*sin(argMin);sin(argSec)]);
- set(hCompass,'LineWidth',3);%设置线宽
- set(hCompass(3),'LineWidth',1);%设置线宽
- set(hCompass(1),'Color','k');%时针红色
- set(hCompass(2),'Color','k');
- delete(findall(hAxes,'Type','text','-or','linestyle',':'));
- %%绘制数值
- ang = pi /3 ;
- for i=1:12
- if rem(i,3) %3d的倍数 字号12
- text(0.8*cos(ang),0.8*sin(ang),num2str(i),'horizontalAlignment','center','FontSize',12,'Parent',hAxes);
- else
- text(0.8*cos(ang),0.8*sin(ang),num2str(i),'horizontalAlignment','center','FontSize',20,'FontWeight','bold','Color','g','Parent',hAxes);
- end
- ang =ang -pi/6;
- end1 F# Y2 y/ c4 S. _
) `2 P) N% _7 @, o/ M
2 Q' ^% S7 ^3 d" i9 P& v三、运行结果% [1 b1 q% E' L! U. V. f
% D$ T0 ^) `6 | k) s4 ~
9 U/ T; C9 s) S- J! R1 ?2 ^# K
|
|