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