绘制正多边形
这篇文章会介绍,在 Scratch 里使用扩充功能的画笔,搭配变数、函数、定位、重复、三角函数...等积木,绘制一个可以动态调整边数和边长的正多边形。
角色设定
在角色编辑区,删除猫咪角色,加入一个“空白”的角色 ( 参考:Scratch 角色设定 )。
因为待会使用画笔绘图,不会出现角色,所以直接使用全空的空白角色。
积木程序原理
从左侧积木清单里,建立“角度”、“边长”和“边数”三个变数,将边长和边数,勾选显示在舞台中。
用鼠标在舞台的变数上按右键,点选“滑杆”,变更为滑杆类型。
加入扩充功能的“画笔”,在点击绿旗时,设定画笔的颜色和粗细,并将边数默认 5,边长默认 50。
从左侧积木清单,建立一个函数,加入 n 和 m 两个参数,分别代表边数和边长,并勾选“执行完毕再更新画面”。
“执行完毕再更新画面”的功能,可以让函数内不需要等待的程序快速执行,加快画面运行速度。
编辑函数内容,设定执行函数时的动作,接着在点击绿旗时执行函数,点击绿旗后,舞台的正中心就会出现一个点,这个点就是待会绘制正多边形的中心点。
- 将画笔定位到 (0, 0) 的位置,面朝 90 度。
- 清除舞台上所有笔迹。
- 下笔、停笔,在舞台上画出一个“点”。
编辑函数内容,加入绘制多边形的程序:
- 设定“角度”变数为“360 / n”,根据边的数量,将 360 进行等分,例如五个边,等分后的角度就是 72 度。
- 下笔画画。
- 使用“重复...次”积木,重复边的数量。
- 每次重复旋转指定角度,移动指定边长。
- 重复结束后,停笔。
完成后点击绿旗,舞台上就会出现一个正五边形,不过这个正五边形的中心并不在舞台正中间,而是以出发点为中心。
接着可以从下图的三角函数公式,重新定位中心的 xy 座标。
- x 方向修正:往右移动“边长/2”。
- y 方向修正:往上移动“(边长/2) x tan(角度/2)”。
按照公式,在函数里放入对应的积木。
最后在点击绿旗时,增加一个重复无限次积木,重复执行函数。
完成效果
完成后,点击绿旗,就会看见舞台中出现正多边形。
范例解答
范例解答:绘制正多边形
延伸练习
如果已经熟悉了绘制正多边形的原理,还可以尝试更多好玩的作法:
尝试将正多边形“填满颜色”。( 解答 )
微信扫码关注
抖音扫码关注