用户:
无题_查看:0 回复:0 评论:0 创建时间:2019-09-01T19:26:59
【作品展示】

【作品介绍】
其中需要math函数,需要一定的三角函数的基础哦。国旗的长宽比例、颜色都有考证过。最难的就是4个小星星的绘制,需要旋转特别的角度。大家可以根据百度百科理解4个小星星为什么这么绘制。
【作品源代码】
import turtle,math
turtle.colormode(255) # 修改颜色模式为RGB整数模式
pen = turtle.Pen()
pen.speed(0)
# 绘制红色矩形旗面,大小600*400
def rec():
# 移动画笔到左上角
pen.penup()
pen.goto(-300,200)
pen.pendown()
# 绘制四条边并且填充为红色
pen.color(244,0,2)
pen.fillcolor(244,0,2)
pen.begin_fill()
pen.goto(300,200)
pen.goto(300,-200)
pen.goto(-300,-200)
pen.goto(-300,200)
pen.end_fill()
# 绘制黄色五角星
# x,y为五角星中心点,angle为五角星旋转角度,单位为度,r是五角星外接圆的半径
def star(x, y, angle, r):
length = 2*r*math.cos(18/180) # 计算五角星的最长线段
# 移动到五角星的顶点,并调整好角度。默认绘制正五角星☆
pen.penup()
pen.goto(x, y)
pen.setheading(90-angle)
pen.forward(r)
pen.right(162)
pen.pendown()
# 开始绘制黄色五角星
pen.pencolor(250, 244, 8)
pen.fillcolor(250, 244, 8)
pen.begin_fill()
for i in range(5):
pen.forward(length)
pen.right(144)
pen.end_fill()
rec() # 绘制红色旗面
star(-200, 100, 0, 60) # 绘制最大五角星
star(-100, 160, math.atan(5/3)/math.pi*180+180, 20) # 绘制第一个小星星
star(-60, 120, math.atan(7/1)/math.pi*180+180, 20) # 绘制第二个小星星
star(-60, 60, -math.atan(7/2)/math.pi*180, 20) # 绘制第三个小星星
star(-100, 20, -math.atan(5/4)/math.pi*180, 20) # 绘制第四个小星星
pen.hideturtle()
turtle.done()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn