友情提示:380元/半年,儿童学编程,就上码丁实验室。
毕达哥拉斯说“一切平面图形中最美的是圆形”。圆是重要的基本几何形状,在数学和几何中有重要的意义。在Scratch的程序开发中,我们有很多的时候需要绘制圆。可以说这是一个基本的技能。
今天我们就专门讨论一下如何画圆。在这里,我会尽可能多的列出可以使用的方法。大家可以按实际情况选用。
要想画圆,最简单和最直接的方法就是做一个圆的造型,之后使用这个造型使用图章进行绘制。

优点
在于速度快,而且可以通过调节角色的大小调节圆的大小(当然线的粗细也同时会发生变化)。通过造型的切换,还可以使用不同颜色和不同大小的效果。
缺点
在于无法绘制部分的圆,也无法更加随意地修改线的粗细及颜色。
这里面又分为几种方式,本文章介绍第一种方式
这是大家比较熟悉的方法,让角色重复地移动和转向,就能够绘制出一个圆形。
例如下面的程序。
程序得到的结果如下:
可以看到,我们画出了一个圆,但这个圆的圆心不在正中的原点。这是什么问题呢?我们从数学角度分析一下。
上面的程序中,有三个参数。一个是重复的次数A,一个是每次移动的长度B,一个是每次转动的角度C。
这样的绘制方法,实际上是绘制了一个多边形。当多边形的边数很多时,就接近了圆形。
01
角度的问题
为了画成一个圆,必须转动360度,所以A*C一定要大于等于360。大家可以自己试验,如果这个乘积小于360,就绘制不出完整的圆。A和C可以有不同的组合,A就是多边形的边数,如果选择了比较小的A及比较大的C,则绘制出的就更明显的像多边形了。
02
边长的问题
在边数很多时,多边形的边长(也就是角色移动的总距离)近似等于圆的周长。我们绘制出的圆的周长是A*B=2πr。对应的半径也就是r=A*B/2π。以上面的程序为例。我们的A*B=360*2=720,所以圆的半径约为121。
03
位置和方向
我们还需要注意开始的位置和方向,一般可以将开始的位置放在圆的最高点,将方向设置为向右就可以。
知道了上面的关系,我们就可以很容易地绘制圆形了,而不用一点点地去试验不同的移动值。
例如我们想绘制一个中心在(100,50),半径为100的圆形。根据上面的分析,我们应该先将角色放在(100,150)的位置上,面向右边。A取360,C取1,B可以通过计算2πr/A得到B=1.745。
程序如下:
运行后可以看到,得到了我们所需要的圆。
所以,使用这种方法进行画圆,还是需要进行一点数学计算的,这样才能准确地得到我们所需要的效果。
掌握这个方法,就能够绘制出类似的效果了。
其它的几种画圆方法将在下一篇文章中介绍。
总结
1 有多种不同的绘制圆的方法。包括造型的图章及画笔绘制的方法。
2 画笔绘制中,使用移动加转向是常用的方法。通过数学分析,给出了A,B,C三个参数的关系及计算方法。
3 这是一种绘制圆的方法,主要问题不只在于是否能画出圆,而在于如何通过调整参数绘出我们所需要的圆。