王德貴
“百年征程波瀾壯闊,百年初心歷久彌堅?!睘榱藨c祝中國共產(chǎn)黨成立100周年,我們用Python繪制一面黨旗。這個Python程序的難度為中國電子學(xué)會等級考試一級,繪制原理雖然簡單,難點(diǎn)在于需要繪制多條曲線并閉臺。
黨徽圖案規(guī)格標(biāo)準(zhǔn)(如圖1)。
1.整體要求
(1)旗面3:2,紅色背景,黃色圖案。長與寬中線將旗分成4等份,左上長方形內(nèi)劃出橫18豎12等份的小方格。
(2)黨徽圖案切于8*8小方格的正方形內(nèi),正方形上部與旗上邊空3格,左側(cè)與旗左邊空4格。
2.黨徽圖案規(guī)格要求
將正方形分為32×32等份,分格線條編號為橫向1-33,豎向1~33。畫出對角線AC、BD。
3錘子畫法要求
(1)連接E(29、33)、F(33、29),并從E、F兩點(diǎn)作AC的平行線,構(gòu)成錘把。
(2)從G(8.5,185)作BD的平行線至H(19.5,7 5),從G、H兩點(diǎn)分別作AC的平行線至I(4,14)、J (17,5),從I點(diǎn)作BD的平行線,和以K(13.5,1)為圓心、KJ為半徑畫弧交于L點(diǎn),構(gòu)成錘頭。
4.鐮刀畫法要求
(1)以M點(diǎn)(17,17)為圓心、MN為半徑畫弧NO,N(17,1), 0(17,33),
(2)以P點(diǎn)(17,15)為圓心、PO為半徑畫弧,與HG的延長線交于(1點(diǎn),
(3)以R(兒,16 5)為圓心、R為半徑畫弧,與通過R點(diǎn)的水平線交于S點(diǎn),
(4)以T(16 6,16 5)為圓心、TS為半徑畫弧,與通過T點(diǎn)的垂直線交于U點(diǎn),
(5)以V(16 5,11)為圓心、vu為半徑畫弧,與HG的延長線交于W。
5鐮刀把畫法要求
(1)以X點(diǎn)( 3.5,30 5)為圓心作圓與AB、BC線相切:
(2)從Y(6,30)、2(4,28)分別作直線平行于BD。
根據(jù)制法說明,要求旗面為3:2,旋的左邊是橫18,那橫軸一共就是36,根據(jù)turlte坐標(biāo)的大小,我們將旗面設(shè)定為720×480。也就是左右兩邊各36格,上下各24格,實(shí)質(zhì)上是坐標(biāo)值擴(kuò)大了20倍。
1.參考線
為了在繪制過程中修正繪制結(jié)果,需要有參考線。將左側(cè)坐標(biāo)橫分36格,每格長度為10個單位,即360單位。上側(cè)坐標(biāo)分24格,即240單位。這樣sX8圖案就占16×16格,每格為5單位,如圖2,黑色線為參考線,藍(lán)色框?yàn)辄h徽圖案處,坐標(biāo)中心為(0,0)。藍(lán)框黨徽圖案處離上邊緣為6格,30單位,離左邊緣8格,40單位(如圖2)。
2.黨徽圖案
黨徽圖案所在正方形四角所在坐標(biāo)為:(-120,20)、(-280,20)、(-280,180)、(-120,180)。如圖3所示,為藍(lán)框放大后圖案和坐標(biāo)。
注意用turtle畫圖時必須嚴(yán)格按照繪制要求精準(zhǔn)作圖(如圖3)。三、程序設(shè)計
根據(jù)前面的坐標(biāo)轉(zhuǎn)換分析,我們一步步分解做出標(biāo)準(zhǔn)黨旗。
1.旗面
主要是設(shè)定旗面四邊,大小為720×480,并填充紅色背景(如圖4)。
2.橫向參考線及坐標(biāo)系橫軸
這是為了修正圖案和方便計算畫出的參考線,全部完成后可注釋或刪除(如圖5)。
橫向240單位,每隔10單位畫一條橫線,坐標(biāo)系橫軸線寬2,參考線寬1。
3.縱向參考線及坐標(biāo)系縱軸(如圖6)
4.參考藍(lán)框
黨徽圖案參考框,原來的8X8正方形,現(xiàn)在是160×160單位,即擴(kuò)大了20倍(如圖7)。