python手繪國旗,祖國母親70華誕生日快樂
網上查了一些資料,有的不全,有的做法比較笨拙,故自己動手整了一個。
①國旗的標準作法:
(一)旗面為紅色,長方形,其長與高為三與二之比,旗面左上方綴黃色五角星五顆。一星較大,其外接圓直徑為旗高十分之三,居左;四星較小,其外接圓直徑為旗高十分之一,環拱於大星之右。旗杆套為白色。
(二)五星之位置與畫法如下:
(1)為便於確定五星之位置,先將旗面對分為四個相等的長方形,將左上方之長方形上下劃為十等分,左右劃為十五等分。
(2)大五角星的中心點,在該長方形上五下五、左五右十之處。其畫法為:以此點為圓心,以三等分為半徑作一圓。在此圓周上,定出五個等距離的點,其一點須位於圓之正上方。然後將此五點中各相隔的兩點相聯,使各成一直線。此五直線所構成之外輪廓線,即為所需之大五角星。五角星之一個角尖正向
國旗墨線圖
上方。
(3)四顆小五角星的中心點,第一點在該長方形上二下八、左十右五之處,第二點在上四下六、左十二右三之處,第三點在上七下三、左十二右三之處,第四點在上九下一、左十右五之處。其畫法為:以以上四點為圓心,各以一等分為半徑,分別作四個圓。在每個圓上各定出五個等距離的點,其中均須各有一點位於大五角星中心點與以上四個圓心的各聯結線上。然後用構成大五角星的同樣方法,構成小五角星。此四顆小五角星均各有一個角尖正對大五角星的中心點。
②思路:按照標準作圖法用海龜進行作圖,構造五角星函式,包括五角星外接圓圓心的座標,半徑,以及與垂直方向的偏移角度。
程式碼:
https://www。zhihu。com/video/1162415402574561280
# author : liuppppppppppppppp
import turtle
import math
import time
#中國國旗
def qimian(k):
turtle。speed(5)
turtle。up()
time。sleep(10)
turtle。goto(-k/2,k/2/3*2)
turtle。down()
turtle。begin_fill()
turtle。fillcolor(“red”)
turtle。pencolor(“red”)
#time。sleep(10)
for i in range(2):
turtle。forward(k)
turtle。right(90)
turtle。forward(k/3*2)
turtle。right(90)
turtle。end_fill()
def start(x,y,r,heading):#五角星的中心,五角星的半徑,以及五角星的旋轉角度
turtle。setheading(90)
turtle。up()
turtle。goto(x,y)
turtle。down()
turtle。begin_fill()
turtle。fillcolor(“yellow”)
turtle。pencolor(“yellow”)
turtle。left(heading)
turtle。up()
turtle。forward(r)
turtle。down()
turtle。right(72+90)
l=2*r*math。cos(18/180*math。pi)
for i in range(5):
turtle。forward(l)
turtle。right(144)
turtle。end_fill()
def test():
m=40
start(-10*m,5*m,3*m,0)
start(-5*m,m,m,math。atan(5/4)/math。pi*180)
start(-3*m,3*m,m,math。atan(8/2)/math。pi*180)
start(-3*m,6*m,m,math。atan(8/1)/math。pi*180+90)
start(-5*m,8*m,m,math。atan(3/5)/math。pi*180+90)
k=1200
qimian(k)
test()
turtle。hideturtle()#隱藏小海龜
#維持面板
turtle。done()