赞
踩
import turtle as t
t.screensize(2000, 2000, 'white') # 设置画布大小
t.speed(9) # 设置画笔速度
# 绘制旗面
t.pencolor('red')
# t.pu()
t.goto(-300, -200)
t.pd()
t.fillcolor('red')
t.begin_fill()
for i in range(0, 2):
t.fd(600)
t.lt(90)
t.fd(400)
t.lt(90)
t.end_fill()
# 绘制大五角星
t.pu()
t.pencolor('yellow')
t.goto(-260, 120)
t.pd()
t.fillcolor('yellow')
t.begin_fill()
for i in range(0, 5):
t.fd(113.137) # 大星一划的边长
t.rt(144)
t.end_fill()
# 绘制四个小五角星
list1 = [(-100, 160), (-60, 120), (-60, 60), (-100, 20)] # 四个五角星的中心坐标
list2 = [31.98, 8.13, -15.59, -38.66] # 相对角度0的后退1.111需要左转的角度
for j in range(0, 4):
t.seth(0) # 这是海龟头部的角度为0
t.pu()
t.goto(list1[j]) # 定位到五角星中心
t.lt(list2[j]) # 旋转角度,以背向指向大五角星的角尖
t.bk(20) # 从五角星中心到指向大五角星的角尖(龟倒着爬)退一个小圆半径
t.lt(18) # 五角星的半角角度
t.pd()
t.begin_fill()
for i in range(0, 5):
t.fd(113.137 / 3) # 小星一划的边长
t.rt(144)
t.end_fill()
t.pu()
t.ht()
t.done()
我首先在网上查询了国旗的相关尺寸和大小,然后设置画布的尺寸和画笔的大小,然后先画大的五角星# 绘制大五角星
t.pu()
t.pencolor('yellow')
t.goto(-260, 120)
t.pd()
t.fillcolor('yellow')
t.begin_fill()
for i in range(0, 5):
t.fd(113.137) # 大星一划的边长
t.rt(144)
t.end_fill()
接着由于红旗上的五颗星偏左上方,移动画笔的位置;然后设置角度、大小完成五颗星以及署名的绘制;最后隐藏画笔。
再根据海龟画其他四个小星,只需要改变相关的位置
我觉得这个最主要的就是海龟坐标,把这个理解后,其他的问题就迎刃而解了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。