掌控板之神奇的地月运动
2020-07-31
地月運动系统在我们小学课本中就已经学过,月球直径3476公里,是地球直径的3/11,月球质量是地球质量的1/81。月球在以地球为中心的圆轨道上每月绕地球转一周,并随地球绕太阳公转,今天我们就用掌控板仿真功能制作一个基于mPyhon掌控板的地月运动演示系统。
要利用掌控板制作一个地月运动演示系统需要掌握循环模块的使用技巧,了解绘画工具和数学工具的使用(绘画工具主要是绘制空心圆和实心圆的过程,数学工具主要是sin和cos的运用),其次还需熟悉OLED显示字符的相关知识。
一、绘制地球图案——实心圆:在指令模块区添加显示块,绘制一个实心圆,圆心(96,32),半径10。
二、绘制月球运动轨迹——空心圆:在指定模块区添加显示块,绘制一个空心圆,圆心和地球的圆心是一样的(96,32),半径是30,完成之后我们可以运行看看效果,代表地球的实心圆和代表月球轨道的外圈。
三、绘制月球图像,月球是围绕着地球旋转的,只需让月球按照运动轨迹顺时针旋转就成了。但是这就会遇到一个问题,月球的圆心在哪里?因为月球始终是顺着轨道运动,每移动一下,圆心都在变化,唯有轨道半径保持不变。这里就需要借助地月运动系统辅助工具。图中的数据仿真模拟了地月系统的圆心坐标变化的过程。横坐标X=96+cos(i)*30;纵坐标Y=y=32+sin(i)*30。
代码部分效果展示:
在代码中我们先给定变量i的值的范围在1-360之间,并且每隔11秒执行一次月球的运动,设置变量X和变量Y分别套用公式(横坐标X=96+cos(i)*30;纵坐标Y=y=32+sin(i)*30)并且绘制三个圆(两个实心圆:一个圆代表月球,一个圆代表地球;一个空心圆:代表月球的运动轨迹),月球绕着地球旋转,为了运动模拟逼真效果还可以增加RGB灯光:依次进行红绿颜色交替的互换,最终完成一个交互式的作品。
利用掌控板的仿真功能不仅仅可以做一些科学天文的小实验,还可以做出一些音乐、历史等不同的交互式作品,在接下来的日子里我也会继续和大家分享更多有趣的小实验。