Five_Star五角星

import turtle
turtle.pensize(5)#边长
turtle.pencolor('green')#边长颜色
turtle.begin_fill()
turtle.fillcolor('red')#里面的颜色
turtle.forward(200)#距离
turtle.right(144)#转弯
turtle.fd(200)
turtle.right(144)
turtle.fd(200)
turtle.right(144)
turtle.fd(200)
turtle.right(144)
turtle.fd(200)
turtle.end_fill()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
from turtle import * def star(center_point,first_vertex,radius): """根据圆心坐标及其第一个顶点坐标绘制五角星""" up() seth(0) goto(center_point) angle = towards(first_vertex) goto(first_vertex) lt(angle) rt(90) # 确定五个顶点坐标 five_vertex_points = [first_vertex] for _ in range(4): circle(-radius,360/5) five_vertex_points.append(pos()) # 开始绘制五角星 goto(first_vertex) color('yellow') down() begin_fill() for index in range(len(five_vertex_points)): goto(five_vertex_points[(index*2)%len(five_vertex_points)]) goto(first_vertex) end_fill() def China_Flag(height,start_x = None,start_y = None): tracer(0) # 设置高宽 width = (height / 2) * 3 if start_x is None and start_y is None: # 设置绘制起点 start_x = -(width/2) start_y = -(height/2) up() goto(start_x,start_y) down() # 绘制矩形旗面 setheading(0) color('red') begin_fill() for i in range(2): fd(width) lt(90) fd(height) lt(90) end_fill() # 确定五颗星的中心坐标 five_star_center_points = [(start_x+width/2/15*5,start_y+(1/2+5/20)*height), (start_x+width/2/15*10,start_y+(1/2+8/20)*height), (start_x+width/2/15*12,start_y+(1/2+6/20)*height), (start_x+width/2/15*12,start_y+(1/2+3/20)*height), (start_x+width/2/15*10,start_y+(1/2+1/20)*height),] # 确定五颗星的第一个顶点坐标 big_radius = height/2/10*3 # 大五星外接圆半径 small_radius = height/2/10 # 小五星外接圆半径 up() goto(five_star_center_points[0]) setheading(90) fd(big_radius) p = pos() first_vertex_points = [p] # 第一个顶点坐标 for point in five_star_center_points[1:]: goto(point) seth(0) angle = towards(five_star_center_points[0]) lt(angle) fd(small_radius) first_vertex_points.append(pos()) up() # 绘制五角星 # 大五角星 star(five_star_center_points[0], first_vertex_points[0], big_radius) # 4个小五角星 for i in range(1,5): star(five_star_center_points[i],first_vertex_points[i],small_radius) if __name__ == '__main__': screensize(600, 400) # 画布大小 bgcolor('black') # 背景颜色为黑色 speed(0) # 速度为最快 China_Flag(192,50,15) hideturtle() done()
03-23

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值