上一章节我们学习了正五边形的绘制,并且由此推演出其他
正多边形的绘制方法。现在我们试着利用前面所学知识绘制
和正多边形有所差异的图形“五角星”。绘制之前,还是先
分析图形的绘制过程,写出“伪代码”,再编写Python代
码。
如右图所示,五角星看起来复杂,但其实它的绘制过程也是
由五条边组合而成。
过程分析:
①让小海龟前进(绘制第一条边)
②让小海龟右转(调整小海龟方向)
③让小海龟前进(绘制第二条边)
④让小海龟右转(调整小海龟方向)
⑤让小海龟前进(绘制第三条边)
⑥让小海龟右转(调整小海龟方向)
⑦让小海龟前进(绘制第四条边)
⑧让小海龟右转(调整小海龟方向)
⑨让小海龟前进(绘制第五条边)
根据上述分析,绘制一个五角星同样也需要9个步骤。且上述的9个步骤用到的小海龟方法也只有“前进”和“右转”。
现在我们要解决的问题就是小海龟旋转角度的计算,和正多边形不一样的是,旋转角的相邻角不是正多边形的内角,而是三角形的顶角。
角度计算分析:
∵旋转角 相邻三角形顶角=平角(180度)
∴只要计算出相邻三角形的顶角即可计算出旋转角度
∵五角星的五角所在三角形为等腰三角形,等腰三角形的两底角
相等
∴三角形顶角=180—2*三角形底角,故求出三角形的底角即可求出顶角
观察可知,三角形底角的相邻角所在的图形,正好是由绘制五角星的五条边构成的一个正五边形。由前面所学可知,正五边形的内角为108度。
∴ 三角形的底角=180—108=72度
∴ 三角形的顶角=180—2*72=36度
∴ 旋转角=180—36=144度
通过以上方法,我们即可求得小海龟每次的旋转角度为144度
144
2、五角星绘制代码实现
现在我们可以将上述分析的“伪代码”,写成以下代码:
import turtle
turtle.forward(100)
turtle.right(144)
turtle.forward(100)
turtle.right(144)
turtle.forward(100)
turtle.right(144)
turtle.forward(100)
turtle.right(144)
turtle.forward(100)
将程序保存并运行,效果如下图:
3.本节总结
① 熟练掌握数学中关于角度的知识(平角、内角和、内角等)
② 应用逆向思维推导解决角度计算问题