赞
踩
1,标准的五星红旗是怎样的?
标准的五星红旗的旗面为红色,长方形,其长与高为三与二之比,旗面左上方缀黄色五角星五颗。一星较大,其外接圆直径为旗高十分之三,居左;四星较小,其外接圆直径为旗高十分之一,环拱于大星之右,且各有一角尖正对大星中心。
有了这张图,相信大家能更好的了解我们的五星红旗!
2,如何用python来画出五星红旗?
首先我们要导入turtle库和math库
- import turtle as t
- import math
先把画布搞出来,这样我们就可以在画布上作画,并且设置好一个小方格的长度
- t.setup(950, 600) #先设置一个大大的画布
- u = 20 #一个小方格长度为20
再把国旗的红色背景画好
- t.begin_fill() #用于填充整块区域,从t.begin_fill()开始到t.end_fill()结束。对从起始点到终点的连线和轨迹所围成的闭合区域填充颜色
-
- t.color('red') #红旗的背景为红色的
- t.goto(-15*u, 10*u) #以下为红旗四个顶点的坐标
- t.goto(15*u, 10*u)
- t.goto(15*u, -10*u)
- t.goto(-15*u, -10*u)
- t.goto(-15*u, 10*u)
-
- t.end_fill()
再画出五个五角星,先画出第一个大的五角星(先给你们看示意图,这样你们更能理解代码,画的很丑,请见谅)
- #将海龟挪到1星顶点且指向中心
- t.color('yellow')
- t.pu() # 抬起画笔
- t.goto(-10*u, 8*u) #海龟先到达大的五星红旗的顶点
- t.seth(-90) #然后头朝下
- t.pd() # 放下画笔
- t.left(18) # 海龟以自身方向为标准,左转18°
- t.begin_fill()
-
- for i in range(5): # 画出大的五角星
- t.fd(6*u*math.cos(math.radians(18)))
- t.right(144)
-
- t.end_fill()
-
- t.hideturtle() #隐藏乌龟
接着画出剩下四个五角星,由于画五角星的步骤是一样的,那我们先定义个画五角星的函数。
- def drawStar(u):
- t.color('yellow')
- t.pd() # 放下画笔
- t.left(18) # 海龟以自身方向为标准,左转18°
- t.begin_fill()
-
- for i in range(5): # 画出小的五角星
- t.fd(2*u*math.cos(math.radians(18)))
- t.right(144)
-
- t.end_fill()
开始画
- #画出剩下的4个小五角星
- for i in range(4):
- t.pu()
-
- if i==0:
- t.goto(-5*u, 8*u) #到达第一个小五角星的中心点
- t.seth(math.degrees(math.atan(3/5)))
- elif i==1:
- t.goto(-3*u, 6*u) #到达第二个小五角星的中心点
- t.seth(math.degrees(math.atan(1/7)))
- elif i==2:
- t.goto(-3*u, 3*u) #到达第三个小五角星的中心点
- t.seth(-math.degrees(math.atan(2/7)))
- else:
- t.goto(-5*u, 1*u) #到达第四个小五角星的中心点
- t.seth(-math.degrees(math.atan(4/5)))
-
- t.bk(u)
- drawStar(u)
-
- t.ht()
画好了,下面看结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。