用Python turtle画一面国旗,庆祝祖国七十华诞 |
您所在的位置:网站首页 › 欢庆国庆节为主题画一幅画怎么画 › 用Python turtle画一面国旗,庆祝祖国七十华诞 |
第二步:绘制大五角星 接下来我们就要来画五角星了,我们首先画出一个填充色为黄色的五角星: 效果是这样: 是不是也挺简单的?代码相信大家看这都不陌生。 学会了如何画五角星,我们现在看看如何在红色背景上绘制出和国旗一样的5颗五角星。我们先从大五角星开始,也就是最大的那颗五角星: 在这里大家要注意,我们画的第一颗大五角星是需要填充颜色的,需要将for循环的部分放在begin_fill 和 end_fill 之间。因为我们真正绘制的部分就是在for循环中。同时,begin_fill和end_fill方法一定要成对出现,缺一不可。 第三步:画出四颗小五角星 大五角星绘制好了,我们从上到下依次绘制小五角星。绘制的时候大家需要注意关于小五角星的坐标问题了,我们前面的文章turtle已经为你详细介绍了turtle中的坐标系问题。点击这里了解坐标系的设置方法。 五角星在国旗上的位置如何确定呢?这里我们又要参考《GB:12982-2004》给出的国旗的设计方法。国旗设计中还有很多数学知识。为了确定每一个五角星的在国旗上的物理位置,将旗面对分为四个相等的长方形,并将左上方之长方形上下划为十等分,左右划为十五等分,如下图。 根据《GB:12982-2004》的图示,我们可以看出:大五角星的中心点,在该长方形上5下5、左5右10的地方。其画法为:以此点为圆心,以三等分为半径作一圆。在圆周上,定出5个等距离的点,第一点须位于圆之正上方。然后将此五点中各相隔的两点相联,使各成一直线。这5条直线所构成之外轮廓线,即为所需之大五角星。 四颗小五角星的中心点,第一点在该长方形上二下八、左十右五之处,第二点在上四下六、左十二右三之处,第三点在上七下三、左十二右三之处,第四点在上九下一、左十右五之处。其画法为:以以上四点为加圆心,各以一等分为半径,分别作四个圆。在每个圆上各定出五个等距离的点,其中均须各有一点位于大五角星中心点与以上四个圆心的各联结线上,然后用构成大五角星的同样方法,构成小五角星。此四颗小五角星均各有一个角尖对大五角星的中心点。 根据《GB:12982-2004》给我们的提示,我们用平面几何的知识就可以计算出具体坐标了,计算出来的星星坐标: 大五角星坐标为:(-170,145) 第1颗小五角星坐标为:(-100,180) 第2颗小五角星坐标为:(-85,150) 第3颗小五角星坐标为:(-85,120) 第4颗小五角星坐标为:(-100,100) 有了以上这些信息,我们就可以轻松的把所有的五角星画出来了。 其实代码跟第一个大五角星的流程都是一样的,但是多了一条语句:turtle.setheading (305) ,这个语句的意思是改变海龟的朝向。其实turtle.left 或者 turtle.right也可以改变海龟的方向,但是跟这个方法有什么区别呢? 最大的区别就是left或者right改变了方向以后,本身的朝向是不会变的,而setheading方法在改变了方向以后,也会改变海龟本身的方向。这里主要是用于控制每一个五角星之间的距离的,大家可以自己动手写一段简单的代码分别用right,left和setheading方法测试一下就能看出区别了。 第一个小五角星画出来了以后,剩下的就很简单了: 在画完第四颗小五角星以后,我们的工作还没有做完,turtle默认让海龟的图标显示出来,当我们国旗画完以后,应该将这个图标隐藏,hideturtle方法就是用来隐藏海龟的。 最后,我们需要加上done方法表示绘制完成。这样我们的国旗就停留在屏幕上了。 以上就是使用turtle绘制国旗的案例,在这个案例中5颗五角星的绘制流程其实是一样的,只是五角星的大小和坐标有所不同。但是我们使用了5个循环来做,这种做法是很“笨“的,其实我们可以只使用1个循环,通过参数(传递坐标值,和绘制大小的值)的形式来完成国旗的绘制。想一想,你会怎么优化Python的代码,用1个循环来绘制国旗呢?再想一想,你还可以怎样给这个国旗加上旗杆呢? 如果你对Python学习有兴趣,别忘了点下面小程序报名学习课程哦返回搜狐,查看更多 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |