用Python实现一个实时运动的大挂钟效果

Posted 程序员的小傲娇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Python实现一个实时运动的大挂钟效果相关的知识,希望对你有一定的参考价值。

今天小千来给大家分享一篇用Python实现一个实时运动的大挂钟效果,最终的效果如下图所示,喜欢的话看下去~~
在这里插入图片描述
本项目用到的库主要有pygame、math、datetime等,另外还用到一些数学知识,勾股定理搞不明白的朋友就不要往下看了,可能会头晕。

第一步:用pygame画个圆

1.初始化画布参数

设置画布大小,添加标题,设置圆的原点、半径和角度:
在这里插入图片描述
2.画1个黑色边框的圆:
在这里插入图片描述在这里插入图片描述

第二步:在圆上添加数字和刻度

1.添加数字

把圆周等分为12份,那么每份的角度为360/12,因为0点在垂直方向,所以再减去90度,由勾股定理,x=半径cos(角度),y=半径sin(角度),

因此代码设置如下:
在这里插入图片描述
2.添加刻度

原理同上,只不过把圆分成了60份
在这里插入图片描述

第三步:画时针、分针和秒针

1.把当天的日期提取出来

我们需要用python的datetime库:
在这里插入图片描述
再把月、日、时、分、秒提取出来:
在这里插入图片描述
2.开始画线,让指针动起来

先在中间画个半径为20的小圆圈
在这里插入图片描述
再画时针,主要用到pygame的draw.line函数:
在这里插入图片描述
效果图:

分针和秒针的的划线原理同时针,区别在于长度和粗细,加上分针和秒针的图为:
在这里插入图片描述

第四步:添加日期和星期

先将日期转化为星期,主要用到datetime及date函数:
在这里插入图片描述
这样之后我们再次运行程序就能看到最终的效果啦,看完之后别忘记自己上手试一试哦~

本文来自千锋教育,转载请注明出处。

以上是关于用Python实现一个实时运动的大挂钟效果的主要内容,如果未能解决你的问题,请参考以下文章

如何使用适用于 Android 的 OpenCV 减少实时视频序列中的运动效果?

通过网络摄像头实时采集视频,采用OpenCV识别运动物体,实现有运动物体经过时存储,没有时则不存储.

Python测量时间,用time.time还是time.clock

我可以用 Angular 实现半实时效果吗?

赛车运动中的高性能数据可视化

实时构建:Apache Kafka的大数据消息传递,Part 1