畫之前肯定要知道規格圖,我找了一個大致的圖,
參考圖片:

繪制大星的方法很簡單,五角星的補角是144度,
繪制小五角星有點麻煩,因為我國國旗上的小五角星并不是平放的(美帝曾經這樣把我們的國旗搞錯過),而是總有一個角正對著大五角星的中心!我的方法是,定位到小五角星的中心點,然后根據角度后退一定的長度,這個角度可以根據反勾股定理算出來(這有計算工具),長度我是按照大五角星的中心點到角尖的距離除以3得到的,
代碼:
from turtle import *
screensize(2000,2000,'white')#設定畫布大小
#繪制旗面
pencolor('red')
pu()
goto(-300,-200)
pd()
fillcolor('red')
begin_fill()
for i in range(0,2):
fd(600)
lt(90)
fd(400)
lt(90)
end_fill()
#繪制大五角星
pu()
pencolor('yellow')
goto(-260,120)
pd()
fillcolor('yellow')
begin_fill()
for i in range(0,5):
fd(120)
rt(144)
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):
seth(0)#這是龜頭角度為0
pu()
goto(list1[j])#定位到五角星中心
lt(list2[j])#旋轉角度,以背向指向大五角星的角尖
bk(1.111)#從五角星中心到指向大五角星的角尖(龜倒著爬)
lt(18)#五角星的半角角度
pd()
fillcolor('yellow')
begin_fill()
for i in range(0, 5):
fd(40)
rt(144)
end_fill()
pu()#抬起龜頭
ht()#隱藏龜頭
done()#保持
效果圖:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/212860.html
標籤:python
