用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识别运动物体,实现有运动物体经过时存储,没有时则不存储.