TA的每日心情 | 衰 2019-11-19 15:32 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
" w- U# v8 W9 D/ p
一、简介: n; o% C7 O0 r# }8 d
基于matlab时钟设计* b6 f. z) f! d$ e6 f8 o2 g1 L
+ o* V( c2 `* m: l2 ?- ?
, p# V4 X0 b' ]二、源代码
, ^ I* l. T$ U p7 v' y7 D3 s$ [
- 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
) g) Q- ]* t0 O: y, ]/ t2 M; u! a
; J. T- ?* H$ ?2 r; ]4 a: M5 p2 O% J X- S* t& o" u/ L
三、运行结果( L/ Y% Y+ j6 w% o4 N- r" {
1 \ ~1 z$ |; L' @" V# Y
1 l, x, c9 X8 F5 z8 d, U) _- h3 x
+ b5 o- q9 ?) T6 |! a |
|