Scratch第15讲-画多边形(更新)

网友投稿 2019-12-12 11:37

CC哥在之前做基础课程的时候,主要会讲Scratch的概念和应用,对程序设计不太注重,为了更好的帮助初学者,CC哥会把一些基础课程的编程做的更完善和细致些,让大家在学习基本概念的基础上得到更好的编程练习。

之前的15课,CC哥主要讲如何制作新积木,同时举了一个三角形的例子。那么今天CC哥在这个基础上,把这个例子扩展一下,让大家学习的更系统。

https://cdn.china-scratch.com/timg/191214/113G26226-0.jpg

大家看看这个例子,这个例子实际上就是把程序扩展成了画任意多边形的方法,有两个画法:

1:已经知道边长和边数的条件来画多边形。

2:一个是已经知道图形的半径和边数来画多边形。

边长+边数

CC哥这是一笔画的方法,如果你知道了边长,那么逻辑就是边画边拐弯,比如如果是画正方型,就是先画一条线,然后右转90度,在画一条线,再转90度,4条线画下来,一个正方型就有了。

https://cdn.china-scratch.com/timg/191214/113G23401-1.jpg

方法有了是不是很好画,不管画几边形都很容易画出来。但是我们要注意几个问题:

1:我们想把图形画在屏幕中央,那么要从哪里下笔呢?

2:我们不想把图形画的大小超出了舞台的范围,那么在设定边长和边数的时候有没有限制呢?(边长越长,边数越多,图形就越大)

让我们来看代码,看看CC哥怎么设计程序的。

https://cdn.china-scratch.com/timg/191214/113G22114-2.jpg

这段代码大家不去看控制的部分,只看画图的部分。

如果要回答上面的两个问题,首先要求出来图形的半径,也就是图形的中心点到图形顶点的长度。

https://cdn.china-scratch.com/timg/191214/113G24613-3.jpg

这个公式就是根据边长和边的数量求半径的算法,

https://cdn.china-scratch.com/timg/191214/113G35O9-4.jpg

半径的公式就是:半径=二分之一的边长/sin(a)这个求半径用到了三角函数,小朋友可以找爸妈帮忙来学习一下这个简单的三角函数。

如果算出来了半径,怎么保证把图形画到舞台中心呢?那么图形的起点和初始方向就很关键:

1:起点的x坐标为0,y坐标为半径的长度。

2:起始画线的方向需要计算出来:90+180/边的数量

https://cdn.china-scratch.com/timg/191214/113G34T5-5.jpg

至于不画出舞台,那么就很简单了,只要半径算出来之后小于180,那么图形就不会超出舞台啦。

知道了画笔的起点和初始画笔的方向后,那么画一个多边形就很容易了。

https://cdn.china-scratch.com/timg/191214/113G34945-6.jpg

半径+边数

掌握了边长+边数的画法,通过半径+边长来画多边形就很简单了,只要把边长求出来就可以了。

https://cdn.china-scratch.com/timg/191214/113G32S4-7.jpg

中间这个公式就是计算边长的方法。

程序的其他部分都是一些细节的控制,比如鼠标移到按钮上的特效,以及用按钮切换两种画法,更换背景等。还有用询问和回答来输入变量的值,变量的显示和隐藏等,不过这些部分不是本讲座的重点,大家自己看代码就好,或者自己对控制的部分自行发挥都可以。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com