2022-7-13 16:27:07 [显示全部楼层]
8786浏览
查看: 8786|回复: 2

[入门教程] 模拟掌控 20--分秒必争

[复制链接]
本帖最后由 rzyzzxw 于 2022-7-13 16:32 编辑

模拟掌控 20--分秒必争

这个系列,献给没有掌控板的小朋友,同时也可以疫情线上课教学使用。
小创客课程,欢迎选用《小创客轻松玩转掌控板》,用掌控板上课,比模拟运行效果要好多了。

WedJuly-202207137506..png

任务目标:
1、用三角函数知识做出模拟时钟秒针和分针、时针的运行效果。
2、巩固for循环和三角函数。

WedJuly-202207132967..jpg

step1
任务从秒针开始。
前面的教程中我们学过利用三函数知识描点画圆。
可以复习回看一下。

WedJuly-202207133711..png

圆周一共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 个小点来指示上下左右。

WedJuly-202207136184..png



那到这里,时针基本上完成了。一节课的时间紧紧的。
其实程序还需要进一步完善,模拟的话运行一小会还可以,时间一长就不好了,所以还在掌控板上测试吧。

很多编程的功能模拟实现不了,还是早早的采购掌控板上课吧。

rzyzzxw  版主
 楼主|

发表于 2022-7-13 16:30:33

这个教程并没有完全实现时钟效果,仅仅做一节模拟课来用。伙伴们可以优化完善下。
回复

使用道具 举报

hnyzcj  版主

发表于 2022-7-13 17:15:43

优秀
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail