turtle库画国旗

以下摘自百度百科

国旗制法说明

(1949年9月28日中国人民政治协商会议第一届全体会议主席团公布)

国旗墨线图

国旗的形状、颜色两面相同,旗上五星两面相对。为便利计,本件仅以旗杆在左之一面为说明之标准。对于旗杆在右之一面,凡本件所称左均应改右,所称右均应改左。

(一)旗面为红色,长方形,其长与高为三与二之比,旗面左上方缀黄色五角星五颗。一星较大,其外接圆直径为旗高十分之三,居左;四星较小,其外接圆直径为旗高十分之一,环拱于大星之右。旗杆套为白色。

(二)五星之位置与画法如下:

甲、为便于确定五星之位置,先将旗面对分为四个相等的长方形,将左上方之长方形上下划为十等分,左右划为十五等分。

乙、大五角星的中心点,在该长方形上五下五、左五右十之处。其画法为:以此点为圆心,以三等分为半径作一圆。在此圆周上,定出五个等距离的点,其一点须位于圆之正上方。然后将此五点中各相隔的两点相联,使各成一直线。此五直线所构成之外轮廓线,即为所需之大五角星。五角星之一个角尖正向上方。

丙、四颗小五角星的中心点,第一点在该长方形上二下八、左十右五之处,第二点在上四下六、左十二右三之处,第三点在上七下三、左十二右三之处,第四点在上九下一、左十右五之处。其画法为:以以上四点为圆心,各以一等分为半径,分别作四个圆。在每个圆上各定出五个等距离的点,其中均须各有一点位于大五角星中心点与以上四个圆心的各联结线上。然后用构成大五角星的同样方法,构成小五角星。此四颗小五角星均各有一个角尖正对大五角星的中心点。

(三)国旗之通用尺度定为如下五种,各界酌情选用:

甲、长288公分,高192公分。

乙、长240公分,高160公分。

丙、长192公分,高128公分。

丁、长144公分,高96公分。

戊、长96公分,高64公分 [4]  。

python代码

 
from turtle import *

BLOCK = 9.6
speed(10)
def draw_star(n:int):
    pendown()
    pencolor("yellow")
    fillcolor('yellow')
    begin_fill()
    lt(162)
    fd(n)
    rt(162)
    for i in range(5):
        #rt(162)
        forward(math.cos(18/57.3)*2*n)
        right(180-36)
    end_fill()
    penup()

def draw_flag():
    pencolor("red")
    fillcolor("red")
    begin_fill()
    for i in [1,2]:
        forward(288)
        right(90)
        forward(192)
        right(90)
    end_fill()
    penup()
#draw flag

setpos(-144,96)
draw_flag()

#draw big star
setpos(-BLOCK*10,BLOCK*5)
draw_star(BLOCK*3)

#draw small star1
setpos(-BLOCK*5,BLOCK*8)
seth(72-(90-math.atan(5/3)*57.3))
draw_star(BLOCK*1)

setpos(-BLOCK*3,BLOCK*6)
seth(-90-math.atan(7)*57.3+180)
draw_star(BLOCK*1)

setpos(-BLOCK*3,BLOCK*3)
seth(0)
draw_star(BLOCK*1)

setpos(-BLOCK*5,BLOCK)
seth(-72-(90-math.atan(5/4)*57.3))
draw_star(BLOCK*1)
done()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值