最新消息:

Scratch角度体系与数学角度体系的关系分析

Scratch 少儿编程 2587浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

角度的数学概念两条相交直线中的任何一条与另一条相叠合时必须转动的量的量度,转动在这两条直线的所在平面上并绕交点进行。

角度是用以量度角的单位,符号为°。一周角分为360等份,每份定义为1度(1°)。

采用360这数字,因为它容易被整除。360除了1和自己,还有22个真因数,包括了7以外从2到10的数字,所以很多特殊的角的角度都是整数。

实际应用中,整数的角度已足够准确。有时需要更准确的量度,如天文学或地球的经度和纬度,除了用小数表示度,还可以把度细分为分和秒:1度为60分(60′),1分为60秒(60″)。例如40.1875° = 40°11′15″。要更准确便用小数表示秒,而不再加设单位。

 

Scratch中的方向是一个很重要的内容,大家可以使用方向,很容易地让角色面向一个方向或向一个方向移动。但大家是否注意到了,Scratch中使用的方向体系与在数学中学习到的方向体系不是一样的呢?如果用来进行数学绘图等工作,就会遇到问题。今天,我们就在这里论述一下这个问题,研究一下他们之间的关系,更重要的是如何在两个体系之间进行换算。

我们首先看一下SCRATCH中的角度体系是什么样的。从方向积木的下拉框中可以看到,0度表示向上,90度表示向右,-90度表示向左,180度表示向下。

▷Scratch课堂丨Scratch角度体系与数学角度体系的关系分析,值得您收藏转发!

大家都知道一周是360度,我们可以使用下图表示Scratch中角度与方向的对应关系。可以看出,角度是沿顺时针方向增加的。每个方向上角度的两种表示方式(实际上还可以再增加或减小360度的整数倍),表示的方向是相同的。这个角度体系实际上类似于钟表中时针的角度体系,从0度0点开始,顺时针转动,90度对应3点,180度对应6点,270度对应9点。

下面,我们再来看看数学中的角度体系。如果大家学习了数学中的象限及三角函数,就会知道,在数学中角度的定义是不同的。下图中展示了数学中的角度定义。可以看到向右是0度,向上是90度,向左是180度,向下是270度,角度是按逆时针方向增加的。当然,也存在增加或减小360度整数倍的等价角度。

▷Scratch课堂丨Scratch角度体系与数学角度体系的关系分析,值得您收藏转发!

所以问题就来了,在有些程序中,我们要同时使用Scratch中的方向和数学中的方向。例如我们要做这样一个程序:一个小球绕一个箭头转动,而箭头要一直面向小球。在这里箭头的旋转用的是Scratch中的方向,而小球的运动是用数学的计算坐标得到的。
我们建立一个全局变量a 用于保存当前的角度。在舞台中对a进行初始化,并处理a的增加,每增加一次a发送绘制消息。

背景脚本

▷Scratch课堂丨Scratch角度体系与数学角度体系的关系分析,值得您收藏转发!

下面是箭头角色中的脚本:接收消息后,一直指向a方向。

▷Scratch课堂丨Scratch角度体系与数学角度体系的关系分析,值得您收藏转发!

小球运动的坐标是标准的数学方式,通过y=r*sin(a), x=r*cos(a)计算坐标,并移动到坐标处。

▷Scratch课堂丨Scratch角度体系与数学角度体系的关系分析,值得您收藏转发!

运行后可以看到,由于角度体系的不同,两个角色在向不同的方向运动,南辕北辙了啊

▷Scratch课堂丨Scratch角度体系与数学角度体系的关系分析,值得您收藏转发!

那么,如何解决这个问题呢?我们列表分析一下
方向 Scratch体系角度 数学体系角度 关系

▷Scratch课堂丨Scratch角度体系与数学角度体系的关系分析,值得您收藏转发!

可以看出同一个方向时,两个体系的角度之和正好为90度。所以我们可以得到两者的关系。这样,当知道一个体系的角度时,使用90度减去这个角度,就能够得到另一个体系中的角度了。
应用这个方法,我们改变一下上面的程序。可以修改箭头程序或球的程序,我们修改一下箭头的方向。只需要修改成下面这样。将原来的指向a方向修改为指向90-a方向。就能达到我们的要求了。

▷Scratch课堂丨Scratch角度体系与数学角度体系的关系分析,值得您收藏转发!

再运行一下,可以看到,箭头会一直指向球体,达到了我们的要求。

怎么样,下次再涉及到方向和角度体系的问题,就可以用这样的方式进行处理了。

转自公众号:
Scratch青少儿编程课堂

您必须 登录 才能发表评论!