小伙伴关心的问题:五星红旗绘制代码(五星红旗绘制规则CAD),本文通过数据整理汇集了五星红旗绘制代码(五星红旗绘制规则CAD)相关信息,下面一起看看。

五星红旗绘制代码(五星红旗绘制规则CAD)

#五星红旗有14亿护旗手#上热搜

现在是2019年8月4日,距离十月一日还有一个多月,庆祝建国70周年本篇叫你用python动态或五星红旗。

这个不是效果图下面的才是效果图。

#!/usr/bin/env python # -*- coding: utf-8 –*- 对于turtle类的一些封装方法,包括画正多边形,正多角形和五星红旗。 import turtle import math def draw_polygon(aTurtle, size=50, n=3): 绘制正多边形 args: aTurtle: turtle对象实例 size: int类型,正多边形的边长 n: int类型,是几边形 for i in xrange(n): aTurtle.forward(size) aTurtle.left(360.0/n) def draw_n_angle(aTurtle, size=50, num=5, color=None): 绘制正n角形,默认为黄色 args: aTurtle: turtle对象实例 size: int类型,正多角形的边长 n: int类型,是几角形 color: str, 图形颜色,默认不填色 if color: aTurtle.begin_fill() aTurtle.fillcolor(color) for i in range(num): aTurtle.forward(size) aTurtle.left(360.0/num) aTurtle.forward(size) aTurtle.right(2*360.0/num) if color: aTurtle.end_fill() def draw_5_angle(aTurtle=None, start_pos=(0,0), end_pos=(0,10), radius=100, color=None): 根据起始位置、结束位置和外接圆半径画五角星 args: aTurtle: turtle对象实例 start_pos: int的二元tuple,要画的五角星的外接圆圆心 end_pos: int的二元tuple,圆心指向的位置坐标点 radius: 五角星外接圆半径 color: str, 图形颜色,默认不填色 aTurtle = aTurtle or turtle.Turtle() size = radius * math.sin(math.pi/5)/math.sin(math.pi*2/5) aTurtle.left(math.degrees(math.atan2(end_pos[1]-start_pos[1], end_pos[0]-start_pos[0]))) aTurtle.penup() aTurtle.goto(start_pos) aTurtle.fd(radius) aTurtle.pendown() aTurtle.right(math.degrees(math.pi*9/10)) draw_n_angle(aTurtle, size, 5, color) def draw_5_star_flag(times=20.0): 绘制五星红旗 args: times: 五星红旗的规格为30*20, times为倍数,默认大小为10倍, 即300*200 width, height = 30*times, 20*times # 初始化屏幕和海龟 window = turtle.Screen() aTurtle = turtle.Turtle() aTurtle.hideturtle() aTurtle.speed(10) # 画红旗 aTurtle.penup() aTurtle.goto(-width/2, height/2) aTurtle.pendown() aTurtle.begin_fill() aTurtle.fillcolor(red) aTurtle.fd(width) aTurtle.right(90) aTurtle.fd(height) aTurtle.right(90) aTurtle.fd(width) aTurtle.right(90) aTurtle.fd(height) aTurtle.right(90) aTurtle.end_fill() # 画大星星 draw_5_angle(aTurtle, start_pos=(-10*times, 5*times), end_pos=(-10*times, 8*times), radius=3*times, color=yellow) # 画四个小星星 stars_start_pos = [(-5, 8), (-3, 6), (-3, 3), (-5, 1)] for pos in stars_start_pos: draw_5_angle(aTurtle, start_pos=(pos[0]*times, pos[1]*times), end_pos=(-10*times, 5*times), radius=1*times, color=yellow) # 点击关闭窗口 window.exitonclick() if __name__ == __main__: draw_5_star_flag()

更多五星红旗绘制代码(五星红旗绘制规则CAD)相关信息请关注本站,本文仅仅做为展示!