王德贵
“百年征程波澜壮阔,百年初心历久弥坚。”为了庆祝中国共产党成立100周年,我们用Python绘制一面党旗。这个Python程序的难度为中国电子学会等级考试一级,绘制原理虽然简单,难点在于需要绘制多条曲线并闭台。
党徽图案规格标准(如图1)。
1.整体要求
(1)旗面3:2,红色背景,黄色图案。长与宽中线将旗分成4等份,左上长方形内划出横18竖12等份的小方格。
(2)党徽图案切于8*8小方格的正方形内,正方形上部与旗上边空3格,左侧与旗左边空4格。
2.党徽图案规格要求
将正方形分为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。
根据制法说明,要求旗面为3:2,旋的左边是横18,那横轴一共就是36,根据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)。三、程序设计
根据前面的坐标转换分析,我们一步步分解做出标准党旗。
1.旗面
主要是设定旗面四边,大小为720×480,并填充红色背景(如图4)。
2.横向参考线及坐标系横轴
这是为了修正图案和方便计算画出的参考线,全部完成后可注释或删除(如图5)。
横向240单位,每隔10单位画一条横线,坐标系横轴线宽2,参考线宽1。
3.纵向参考线及坐标系纵轴(如图6)
4.参考蓝框
党徽图案参考框,原来的8X8正方形,现在是160×160单位,即扩大了20倍(如图7)。