11291| 2
|
[入门教程] 模拟掌控 20--分秒必争 |
本帖最后由 rzyzzxw 于 2022-7-13 16:32 编辑 模拟掌控 20--分秒必争 这个系列,献给没有掌控板的小朋友,同时也可以疫情线上课教学使用。 小创客课程,欢迎选用《小创客轻松玩转掌控板》,用掌控板上课,比模拟运行效果要好多了。 ![]() 任务目标: 1、用三角函数知识做出模拟时钟秒针和分针、时针的运行效果。 2、巩固for循环和三角函数。 ![]() step1 任务从秒针开始。 前面的教程中我们学过利用三函数知识描点画圆。 可以复习回看一下。 ![]() 圆周一共360度,秒针从90度出发,顺时针,每秒运行6度,运行到-270度。 角的推广知识可以参考数学: step2 关于for循环的复习 写如下程序,模拟运行。 ![]() 0-10,一共11个数字。 ![]() 1-10,一共10个数字。 结合step1的角的扩展知识,我们要让表针在平面上转一周(360度),需要表针从 y轴正半轴出发,顺时针旋转360度。 ![]() 请思考,我们如何在for循环中体现出来? 有同学说: ![]() 这样对么? 程序走一下: ![]() 从90到-270,一共361个数。那个一个圆周360度,这就不对了啊。 仔细想想,从step1知识中,90度和-270度在坐标系中是重合的啊,看来只能用一个了。 同学讨论一下,有两种方法来处理,89到-270,90到-269。 程序走下。 ![]() ![]() 哪一个在应用中是合适的呢? 答案是90到-269。大家想想,表针是不是从0秒开始运行的啊,0秒对应的不就是90度吗。 step3 有了上面的两步学习与讨论,程序先从秒针开始写吧。 算一算,1分钟=60秒,1秒秒针要走多少度啊。 对啊。360/60=6。 我们用一个小圆当表盘中心,一条稍长的线段做表针吧。 ![]() 我们重点是确定秒针的终点了。 复习回顾step1知识:用三角函数来处理。 ![]() 想一想,秒针从90-84-78-……每秒走6度,是不是算出这些角度的三角函数值,乘上r,再经过平面坐标与掌控坐标的转换得出秒针终点坐标啊。 自行尝试一下吧。 参考: 这里秒针用了30像素点的线段做秒针。 ![]() 重复10次,测试一下,看看有没有问题。 ![]() step4 秒针完成啦,想一想,自己能不能用同样的方法,来完成分针的程序。 参考程序: 这里用25个点的线段做分针。为了加快测试,等待用了0.1。 ![]() step5 秒针和分针做完了,下面来做时针。 要进行一个计算,当分针走6度时,时针应该走多少度。 1时=60分 1时对应表盘上的30度。 所以分针走6度,时针走0.5度。 因为模拟中不支持for循环0.5步长间隔,所以我们用变量来写。 参考: ![]() 然后又加了4 个小点来指示上下左右。 ![]() ![]() 那到这里,时针基本上完成了。一节课的时间紧紧的。 其实程序还需要进一步完善,模拟的话运行一小会还可以,时间一长就不好了,所以还在掌控板上测试吧。 很多编程的功能模拟实现不了,还是早早的采购掌控板上课吧。 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed