圆的认识
人有悲欢离合,月有阴晴圆缺,此事古难全。
但愿人长久,千里共婵娟。
这首北宋苏轼的《水调歌头》里面的两句,说明了古人最早是从太阳、阴历十五的月亮得到圆的概念的。许多陶器都是圆的。圆的陶器是将泥土放在一个转盘上制成的。当人们开始纺线,又制出了圆形的石纺锤或陶纺锤。古代人还发现搬运圆的木头时滚着走比较省劲。从艺术到科技圆形在人类发展历史中扮演者比较重要的地位。
概念
圆形,是一个看来简单,实际上是十分奇妙的形状。在前面的教孩子学Scratch编程之0x7:长方形与正方形
中我们介绍了怎么画正方形和长方形。今天我们学习如何画圆。画正方形和长方形我们很清楚每画一个边之后旋转90度画另外一个边,旋转4次就可以了。但是圆形我们却不能直观看成每次移动的角度以及移动多少次。因此要画圆,先了了解一些圆的基本概念。
虽然生活中圆形随处可见,但是关于圆形的知识要到小学6年级才会学习。(参考 小学数学六年级圆练习题)圆的相关概念很多,但我们利用Scratch画圆目前只需要理解“圆心”和“半径”这个概念。这两个概念决定了我们的圆的位置和大小。
圆心(the centre of a circle):圆的中心,到圆上任何点的距离都相等。图中的O点。
半径(radius):从其中心到其周边的任何线段。图中O到A或者B的距离
圆周角度:圆的一周角度是360度
编程
1、思路
Scratch并没有直接提供画圆的指令,与画长方形和正方形只需要向上下左右不同方向移动画笔不同,圆形从直观上并没有直接移动的方向。但是我们实际上也只有转方向,移动,落笔这几个指令可以用上。如果一定要说有方向的话那就是每个点的方向都不同。
今天我们要用的方法是切线相似逼近法-- 也就是说每次移动一小段距离然后转动中心点切线方向的角度。这样实际上是用正n边型来模拟圆形。我们以六边形为例来计算:
2、计算每次旋转的角度
- 已知: 半径r和每次移动的距离len,
- 求:每次旋转的角度a
-
算法:计算如图所示,计算过程用到了三角函数。(这部分内容孩子理解会有困难,但是需要告诉孩子这种模拟逼近的思维方式)以正六边形为例计算出来a是60°
3、计算需要移动次数。
- 已知:圆一圈360°,每次移动角度是上面计算出来的a
- 求:移动次数
- 算法:360/a
4、完成脚本
有了算法,整个编码过程就出来了
这里的圆的半径是100,为了最大程度逼近圆形,每次移动长度是2。
下面是我们运行的结果:
怎么样, 这个看上去还是挺圆的吧!
总结:
孩子会画正方形后自然提出了画圆形的想法。我们首先介绍了圆形的概念和圆形的基本参数。然后介绍了我们这里用的是正n边型来模拟和逼近圆形的方法,其中画圆用到了三角函数的知识还是有些难度的,给孩子讲的时候这部分可以略过,但是要让孩子理解到这些长度和角度的关系,以及整个逼近法的思路。最后用scratch提供的asin三角函数计算完成我们的整个算法和绘制过程。