TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
) s7 v& w& I7 k% Q) d9 E5 D. S一、简介! }: X5 ]; |0 l: X0 M
基于matlab时钟设计
6 d* x) o" S; i$ D' m" R1 U! l3 D: S5 O+ t7 ]
. }) Y+ i- i; H5 [" \# o9 A+ Y
二、源代码
Q r/ @2 s ?( ]
, e: Q5 Y7 u; \- ]9 J4 d- 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;
- end, ]7 O, N$ ?$ e
5 {- h6 M7 p* Q$ R( t% k: O
7 a5 t4 E& \9 l- ^7 g1 r5 c7 Q0 o* m三、运行结果
: h; f7 R" p7 i& J! b5 Z, j4 c5 y7 |1 P7 G# C% R
7 I2 U' C1 F0 w; f! x, I) F- K
1 c; q, i' N4 M& ~/ r& d/ G
|
|