五星红旗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()

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值