2022-5-30 17:32:16 [显示全部楼层]
13959浏览
查看: 13959|回复: 2

[入门教程] 模拟掌控 16--行星运动

[复制链接]
本帖最后由 rzyzzxw 于 2022-5-30 20:07 编辑

模拟掌控 16--行星运动
这个系列,献给没有掌控板的小朋友,同时也可以疫情线上课教学使用。
在接触掌控实物之前,先上了一段模拟课,课是给0基础的初中小朋友上的,大部分教程也可以放到小学高年级使用。
这个简单的系列是上课内容记录。
小创客课程,欢迎选用《小创客轻松玩转掌控板》。
MonMay-202205306215..png
目标:
1、for循环巩固
2、数学,天文与编程结合
3、变量的应用
(本教程不适用小学生)
step1
太阳大,地球小,地球绕着太阳跑。
地球大,月亮小,月亮绕着地球跑。



我们将尝试用掌控模拟地球的环绕太阳的运动。

由于知识水平所限,我们的模拟并不严格,因为我们的环绕轨道是圆形的,实际上它们的环绕轨道是楕圆,并且是有远日点和近日点,远地点和近地点的。

我们的第一个任务是:
太阳大,地球小,地球绕着太阳跑。
效果:



step2
观察老师的效果图,思考动画效果如何实现?
屏幕中间一个实心圆,这个很好完成啊。
一个小实心圆绕它逆时针圆周运动,运动要有坐标点啊,而这些点,正好是一个圆。

为了统一,方便讲解,我们在屏幕中心(64,32)绘一个半径为5的实心圆当做太阳。
参考:


用一个半径为1的实心圆当地球,地球绕太阳的圆周运行半径为20。
如何求出地球的运动坐标呢?上一课中的描点绘圆技能用起来啊。

新建变量Dx,Dy,用它们来存入点的x,y坐标,这样程序简洁,运行也快一点。
这一步让学生回想上一课的描点绘圆方法,必要时可以调出程序复习,尝试完成任务。

参考:

MonMay-202205309486..png

效果:



可是现在有一个问题,如何只显示一个地球啊?
并且为了提高程序运行速度不频繁清空屏幕?

提示:可以用擦除……实心圆功能

学生尝试,讨论,分享。

参考程序:



为了擦除干净,擦除的圆用了半径2。

上面只转了一圈,重复执行,就可以一直转下去了。

step3
地球大,月亮小,月亮绕着地球跑。
如何加上月亮绕地运行的效果呢?

MonMay-202205305154..png


月亮更小我们用描点来模拟,月亮绕地球半径我们用5,而月亮的绕地的每个一点都是以地球为圆心的,我们还用描一点然后擦除,实现动画效果。
新建变量Dx2,Dy2,用来存入月亮坐标。这一步稍有点难,老师可以讲解一下。

参考程序:



很有意思的动画效果,关机下课。

友情提示:模拟软件能运行的程序刷入掌控板后会暴露出一些bug,在本教程中,三角函数运算后都没有取整,而在掌控板上运行要取整才能描出整数像素点,因为坐标值为小数掌控是无法显示的哦。






rzyzzxw  版主
 楼主|

发表于 2022-5-30 19:55:55

本帖最后由 rzyzzxw 于 2022-5-30 20:12 编辑

友情提示:模拟软件能运行的程序刷入掌控板后会暴露出一些bug,在本教程中,三角函数运算后都没有取整,而在掌控板上运行要取整才能描出整数像素点,因为坐标值为小数掌控是无法显示的哦。step2参考程序修正后如下:
MonMay-202205306022..png 其它程序请自行加上取整函数。
MonMay-202205306872..png

回复

使用道具 举报

风悠扬0539  高级技师

发表于 2022-5-31 09:35:19

真好,信息科技啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail