当前位置:   article > 正文

五星红旗Python

五星红旗Python

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()

接着由于红旗上的五颗星偏左上方,移动画笔的位置;然后设置角度、大小完成五颗星以及署名的绘制;最后隐藏画笔。

再根据海龟画其他四个小星,只需要改变相关的位置

我觉得这个最主要的就是海龟坐标,把这个理解后,其他的问题就迎刃而解了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/421624
推荐阅读
相关标签
  

闽ICP备14008679号