一、绘制正五边形
想画出正五边形就要知道它的外角,要想求出外角,用180°减去内角即可。
那如何求出正多边形的内角呢?
可以使用切割图形的方法,从一个顶点出发,将正五边形切割成3个三角形。
由三角形内角和定理(三角形的内角和等于180°)得:
3个三角形的总内角和为180°*3=540°,即正五边形的内角和为540°。
一共5个内角,所以每个内角的度数为540°/5=108°,那么外角就是180°- 108°=72°。
程序和执行结果见下图。
二、绘制正六边形
同样需要先求外角,同样利用切割法,求出外角是60°。
程序如下:
通过上面的推导,可以得出正多边形的边数和外角的规律如下:
由此,可总结出一个规律,边数*外角=360°,即正多边形的外角和等于360度。
其实在数学中,该定理描述为:任意一个凸多边形的外角和都是360度。
当我们掌握了这个规律,就可以绘制出任意正多边形了。例如,正16边形。
在上面的程序中,我们会发现,每次绘制指定的正多边形,都要在程序中修改边长、转动角度,重复执行次数这几个参数,非常的麻烦。
那么,能不能创建一个积木,像“移动……步”那样,支持参数的直接传递,可以实现绘制指定边长和边数的正多边形呢?
另外,我们会发现每次绘制的程序其实都可以分解成两大部分,一部分是画笔初始化程序,一部分是绘制图形程序,所以,我们可以用函数对程序进行封装。
1、创建带参数的函数
2、绘制正多边形的程序实现如下:
在这个函数里面,m和n被称为形式参数,简称为形参。
3、画笔初始化设置
4、函数调用
函数调用绘制的是边长为100的正8边形,其中,100和8是实际参数,简称实参。
整体程序和执行结果如下:
同学们赶紧动手动脑编程起来吧!