前面我们已经学会画五角星,不妨让我们一起绘制一面五星红旗吧!!!
思路:1.首先需要导包,用Python自带的turtle包,直接导入
2.设置好画布大小
3.绘制五角星时注意每颗星的起始位置,旋转角度,画笔颜色,填充颜色等
4.添加文字
效果图:
代码:
运行结果:
大家动起手来吧,需要代码自取
import turtle#导入海龟笔库
import math
turtle.pencolor("red")
turtle.fillcolor("red")
turtle.pensize(1)
#画矩形,选择的66*44比例的旗帜
turtle.begin_fill()
turtle.up()#拿起笔
turtle.goto(-330,-220)#起始坐标
turtle.down()#落笔准备画
for i in range(2): #循环画出正方形
turtle.fd(660)
turtle.left(90)
turtle.fd(440)
turtle.left(90)
#此时海龟坐标为-330,-220
turtle.end_fill()
#分割二象限,用于调试计算,提交时注释掉
'''turtle.up()
turtle.goto(-330,0)
turtle.down()
turtle.fd(660)
turtle.speed(0)
turtle.up()
turtle.goto(0,220)
turtle.down()
turtle.seth(-90)
turtle.fd(440)
for i in range(10):
turtle.up()
turtle.goto(-330,22*i)
turtle.seth(0)
turtle.down()
turtle.fd(330)
for i in range(15):
turtle.up()
turtle.goto(-22*i,220)
turtle.seth(-90)
turtle.down()
turtle.fd(220)
turtle.up()
turtle.goto(-220,44)# 大五角星的中心的正下方
turtle.down()
turtle.seth(0)
turtle.circle(66)
'''
#画五角星
def draw_star(x,y,a,b,rank,radis):
turtle.fillcolor("yellow")#填充颜色
turtle.pencolor("yellow") #画笔颜色
turtle.up()
pos_list=[] #存储五个点的坐标的二维列表
turtle.goto(x,y)
turtle.seth(0)
if rank>0:
if(rank<3):#判断是上面两个星星还是下面两个星星,因为转的角度不同
rank=2
else:
rank=3
f=90*rank+math.degrees(math.atan(a/b))
else:
f=0;
#print(f)
turtle.circle(-radis,f)
for i in range(5): #循环5次,标记五个点
turtle.up()
turtle.circle(-radis,144)
#turtle.down()
#turtle.dot()
pos_list.append(turtle.pos())
#print(small_pos_list)
turtle.up()
turtle.goto(pos_list[4])#回到起点
turtle.begin_fill()
turtle.down()
for i in range(5): #开始画五角星
turtle.goto(pos_list[i])
turtle.end_fill()
draw_star(-220,176,0,0,0,66) #画大五角星,输入起点坐标,偏置角度0,0,规定大五角星编号为0,圆形半径为66
draw_star(-110,198,5,3,1,22) # 第一颗星星 起点在左边第5个格子,上边9个格子,偏置角度的tan=5/3,编号为1,圆形半径为22
draw_star(-66,154,7,1,2,22)# 第二颗星星 起点在左边第3个格子,上边7个格子,偏置角度的tan=7/1,编号为2,圆形半径为22
draw_star(-66,88,2,7,3,22)# 第三颗星星 起点在左边第3个格子,上边7个格子,偏置角度的tan=2/7,编号为3,圆形半径为22
draw_star(-110,44,4,5,4,22) # 第四颗星星 起点在左边第5个格子,上边9个格子,偏置角度的tan=4/5,编号为4,圆形半径为22
#绘制文字
turtle.up()
turtle.color('black')
turtle.goto(220,-180)#定位
turtle.hideturtle()
turtle.write('绘制员:',font=('微软雅黑',10))
turtle.up()
turtle.color('black')
turtle.goto(240,-200)#定位
turtle.hideturtle()
turtle.write('2111340',font=('微软雅黑',10))
turtle.up()
turtle.color('black')
turtle.goto(240,-220)#定位
turtle.hideturtle()
turtle.write('王 丽',font=('微软雅黑',10))文章来源:https://www.toymoban.com/news/detail-497395.html
记得点赞,关注小编文章来源地址https://www.toymoban.com/news/detail-497395.html
到了这里,关于Python使用turtle画五星红旗的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!