友情提示:380元/半年,儿童学编程,就上码丁实验室。
在数学课上,我们都学习过画边长为100的正方形,想一想正方形是怎么画的?
表1手绘正方形步骤
步骤 |
抬/落笔 |
方向变化 |
移动 |
||
|
初始化 |
落笔 |
→ |
无 |
x:-100,y:0 |
1 |
落笔 |
↓ |
右转90° |
A→B |
|
2 |
抬笔 |
↑ |
右转180° |
B→A |
|
3 |
落笔 |
→ |
右转90° |
A→D |
|
4 |
落笔 |
↓ |
右转90° |
D→C |
|
5 |
抬笔 |
← |
右转90° |
C→B |
|
6 |
落笔 |
→ |
右转180° |
B→C |
落笔:就像老师把粉笔放在黑板上,之后移动粉笔会在黑板上留下痕迹。落笔即开始本次作画。
抬笔:就像老师把粉笔脱离黑板,之后移动粉笔不会在黑板上留下痕迹。抬笔即结束本次作画。
角色的方向:方向经常被我们忽略,想一下,放学后同学们都回家了,那么在回家之前你是否要知道回家的方向?在知道方向的基础上,然后在这个方向上移动,最后回到家里。在Scratch中,角色也是有方向的,角色的移动是在当前方向上移动。
角色方向变化:方向的变化即可用右转…度,左转…度,也可用面向…方向。如下图1。
图1
角色的移动:移动即在当前方向上移动。在这里我们使用“移动…步”指令。
图2 手绘正方形程序
我们看到手绘正方形程序非常复杂,我们能不能有别的画法呢?
方法是有的,我们可以使用计算机的方式利用旋转方向和移动100步画正方形。
表2 计算机绘制正方形步骤
步骤 |
抬/落笔 |
方向 |
方向变化 |
移动 |
|
|
初始化 |
落笔 |
→ |
无 |
x:-100,y:0 |
1 |
落笔 |
→ |
无 |
A→D |
|
2 |
落笔 |
↓ |
右转90° |
D→C |
|
3 |
落笔 |
← |
右转90° |
C→B |
|
4 |
落笔 |
↑ |
右转90° |
B→A |
这样,一笔下来即是边长为100的正方向。程序如下:
图3 计算机绘制正方形程序
我们仔细观察图3,发现,移动100步,右转90°这两个指令是重复的,重复4次。因此我们可以使用重复确定次数的指令。如图4。
图4
使用重复执行确定次数指令简化程序。如图5所示。
图5 使用有限次循环绘制正方形程序
观察图5与图2,会发现绘制正方形的程序大大简化。
我们用同样旋转的方法绘制边长为100的等边三角形。
表3 计算机绘制正方形步骤
图形 |
步骤 |
抬/落笔 |
方向 |
方向变化 |
移动 |
|
初始化 |
落笔 |
→ |
无 |
x:-100,y:0 |
1 |
落笔 |
→ |
无 |
A→B |
|
2 |
落笔 |
↖ |
右转120° |
B→C |
|
3 |
落笔 |
↙ |
右转120° |
C→A |
|
4 |
抬笔 |
→ |
右转120°(回到初始方向) |
不移动 |
我们知道等边三角形每个内角均为60°,即∠2=60°,而∠ABD为平角180°,因此∠1=120°。从AB方向转为BC方向右转120°。绘制三角形的程序如图6所示。
图6 等边三角形程序
现在三角形和正方形都已经画出来了,我们能不能画一个简易房子呢?如图7所示。
图7 绘制房子
因水平有限,欢迎批评指正。感谢。
如果认为文章对您有帮助,欢迎转发,共同学习共同进步。
转自公众号:
玫瑰编程