17312| 2
|
[入门教程] 模拟掌控 16--行星运动 |
本帖最后由 rzyzzxw 于 2022-5-30 20:07 编辑 模拟掌控 16--行星运动 这个系列,献给没有掌控板的小朋友,同时也可以疫情线上课教学使用。 在接触掌控实物之前,先上了一段模拟课,课是给0基础的初中小朋友上的,大部分教程也可以放到小学高年级使用。 这个简单的系列是上课内容记录。 小创客课程,欢迎选用《小创客轻松玩转掌控板》。 ![]() 目标: 1、for循环巩固 2、数学,天文与编程结合 3、变量的应用 (本教程不适用小学生) step1 太阳大,地球小,地球绕着太阳跑。 地球大,月亮小,月亮绕着地球跑。 ![]() 我们将尝试用掌控模拟地球的环绕太阳的运动。 由于知识水平所限,我们的模拟并不严格,因为我们的环绕轨道是圆形的,实际上它们的环绕轨道是楕圆,并且是有远日点和近日点,远地点和近地点的。 我们的第一个任务是: 太阳大,地球小,地球绕着太阳跑。 效果: ![]() step2 观察老师的效果图,思考动画效果如何实现? 屏幕中间一个实心圆,这个很好完成啊。 一个小实心圆绕它逆时针圆周运动,运动要有坐标点啊,而这些点,正好是一个圆。 为了统一,方便讲解,我们在屏幕中心(64,32)绘一个半径为5的实心圆当做太阳。 参考: ![]() 用一个半径为1的实心圆当地球,地球绕太阳的圆周运行半径为20。 如何求出地球的运动坐标呢?上一课中的描点绘圆技能用起来啊。 新建变量Dx,Dy,用它们来存入点的x,y坐标,这样程序简洁,运行也快一点。 这一步让学生回想上一课的描点绘圆方法,必要时可以调出程序复习,尝试完成任务。 参考: ![]() 效果: ![]() 可是现在有一个问题,如何只显示一个地球啊? 并且为了提高程序运行速度不频繁清空屏幕? 提示:可以用擦除……实心圆功能 学生尝试,讨论,分享。 参考程序: ![]() 为了擦除干净,擦除的圆用了半径2。 上面只转了一圈,重复执行,就可以一直转下去了。 step3 地球大,月亮小,月亮绕着地球跑。 如何加上月亮绕地运行的效果呢? ![]() 月亮更小我们用描点来模拟,月亮绕地球半径我们用5,而月亮的绕地的每个一点都是以地球为圆心的,我们还用描一点然后擦除,实现动画效果。 新建变量Dx2,Dy2,用来存入月亮坐标。这一步稍有点难,老师可以讲解一下。 参考程序: ![]() 很有意思的动画效果,关机下课。 友情提示:模拟软件能运行的程序刷入掌控板后会暴露出一些bug,在本教程中,三角函数运算后都没有取整,而在掌控板上运行要取整才能描出整数像素点,因为坐标值为小数掌控是无法显示的哦。 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed