什么?画圆?等等!mPython软件显示模块本来就有画圆积木啊,很简单啊。
可是,聪明的你想过吗?这样直接画出来是一个静态的圆,想见识一下动态圆的绘制过程吗?请看一下动图。
朋友们,还记得上篇文章《 掌控板OLED屏模拟指针式时钟转运原理剖析 》中提到的两个问题吗?指针转动的速度快慢不一!是的,这是由于上篇文章使用圆的一般方程求解的原因,自变量是x的坐标,而不是圆转动的角度。那么,本文就从圆的角度出发,使用圆的三角函数方程几乎匀速绘制圆的路径。
画圆,当然得先找到圆心。这里直接以屏幕坐标(64,32)为圆心,半径为30像素画圆。那么圆周在哪里呢?该如何确定圆的路径?
如上图所示,圆的半径R=30,再把圆的路径分为60等分,每个部分的角度θ均为6的倍数。在mPython中,以竖直向下的方向为0度,水平向右为90度,竖直向上为180度,水平向左为270度。于是,
当前点A的坐标为(x,y),
而,点A在圆的路径方程上,使用三角函数代入得:
又知,圆的半径R的值是30,圆心坐标为(64,32),角θ的范围是[360,0),且为6的倍数,写代码时使用变量i来替换。则有以下代码:
在显示屏内每隔100毫秒,重新计算依次x和y的坐标,继续绘制一个亮点即可形成一个动态画圆的过程。
仿真演示
点赞