溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在python中利用海龜繪圖畫一個(gè)國旗

發(fā)布時(shí)間:2020-11-12 14:47:01 來源:億速云 閱讀:1288 作者:Leah 欄目:開發(fā)技術(shù)

在python中利用海龜繪圖畫一個(gè)國旗?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

畫之前肯定要知道規(guī)格圖,我找了一個(gè)大致的圖。

參考圖片:

在python中利用海龜繪圖畫一個(gè)國旗

繪制大星的方法很簡單,五角星的補(bǔ)角是144度。

繪制小五角星有點(diǎn)麻煩,因?yàn)槲覈鴩焐系男∥褰切遣⒉皇瞧椒诺模赖墼?jīng)這樣把我們的國旗搞錯(cuò)過),而是總有一個(gè)角正對著大五角星的中心!我的方法是,定位到小五角星的中心點(diǎn),然后根據(jù)角度后退一定的長度。這個(gè)角度可以根據(jù)反勾股定理算出來(這有計(jì)算工具),長度我是按照大五角星的中心點(diǎn)到角尖的距離除以3得到的。

代碼:

from turtle import *
 
 
screensize(2000,2000,'white')#設(shè)置畫布大小
#繪制旗面
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()
 
#繪制四個(gè)小五角星
list1 = [(-100,160),(-60,120),(-60,60),(-100,20)]#四個(gè)五角星的中心坐標(biāo)
list2 = [31.98,8.13,-15.59,-38.66]#相對角度0的后退1.111需要左轉(zhuǎn)的角度
 
for j in range(0,4):
 seth(0)#這是龜頭角度為0
 pu()
 goto(list1[j])#定位到五角星中心
 lt(list2[j])#旋轉(zhuǎn)角度,以背向指向大五角星的角尖
 bk(1.111)#從五角星中心到指向大五角星的角尖(龜?shù)怪溃?
 lt(18)#五角星的半角角度
 pd()
 fillcolor('yellow')
 begin_fill()
 for i in range(0, 5):
  fd(40)
  rt(144)
 end_fill()
pu()#抬起龜頭
ht()#隱藏龜頭
done()#保持

效果圖:

在python中利用海龜繪圖畫一個(gè)國旗

關(guān)于在python中利用海龜繪圖畫一個(gè)國旗問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI