100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 「Python海龟画图」利用海龟画笔绘制镂空五角星

「Python海龟画图」利用海龟画笔绘制镂空五角星

时间:2023-06-19 18:37:29

相关推荐

「Python海龟画图」利用海龟画笔绘制镂空五角星

分析镂空五角星边长的关系

计算分析

分析五角星和内接正五边形的边长关系。已知五角星的边长为l,求在同一直线上五角星的顶点到正五边形的顶点的距离,即r的值;以及正五边形的边长x的值。如下图所示:

已知正五边形的顶角∠EBD=180°-360°/5=108°,五角星的顶角∠BCA=(180°-108°)/2=36°,∠AED=(360°-2×∠CED)/2=(360°-2×72°)/2=108°,∠DEB=(180°-108°)/2=36°,因此DE=r。

△BDE∽△BCA,因此有,得到,带入,经过计算可以得出,。

绘制边长l为400的五角星

功能要求

绘制边长l为400的五角星,将画笔颜色设置为yellow,填充颜色设置为red,画笔宽度为3,画笔速度最快,并隐藏画笔。

实例代码

import turtleturtle.speed(0)turtle.ht()l = 400 # 设定五角星的边长turtle.speed(0) # 设置画笔的速度turtle.ht() # 隐藏画笔turtle.pensize(3) # 设置画笔的粗细# 设置画笔的初始位置turtle.penup()turtle.goto(-200, 50)turtle.pendown()# 绘制外面的五角星turtle.color("yellow", "red")turtle.begin_fill()for i in range(5):turtle.forward(l)turtle.right(144)turtle.end_fill()turtle.done()

运行结果

绘制边长l为400的镂空五角星

功能要求

绘制边长l为400的五角星,将画笔颜色设置为yellow,填充颜色设置为red;移动画笔到正五边形的顶点,即向前移动r距离,绘制一个边长为x的正五边形,设置画笔颜色为yellow,填充颜色为white,即用白色正五边形覆盖五角星的中学部分,画笔宽度为3,画笔速度最快,并隐藏画笔。

实例代码

import turtleimport mathl = 400 # 设定五角星的边长r = l * 2 / (math.sqrt(5) + 3) # 计算两个顶点的距离x = l * (math.sqrt(5) - 1) / (math.sqrt(5) + 3) # 计算五边形的边长turtle.speed(0) # 设置画笔的速度turtle.ht() # 隐藏画笔turtle.pensize(3) # 设置画笔的粗细# 设置画笔的初始位置turtle.penup()turtle.goto(-200, 50)turtle.pendown()# 绘制外面的五角星turtle.color("yellow", "red")turtle.begin_fill()for i in range(5):turtle.forward(l)turtle.right(144)turtle.end_fill()# 绘制正五角星turtle.penup()turtle.forward(r)turtle.pendown()turtle.color("yellow", "white")turtle.begin_fill()for i in range(5):turtle.forward(x)turtle.right(72)turtle.end_fill()turtle.done()

运行结果

为镂空五角星添加文字信息

功能要求

绘制边长l为400的五角星,将画笔颜色设置为yellow,填充颜色设置为red;移动画笔到正五边形的顶点,即向前移动r距离,绘制一个边长为x的正五边形,设置画笔颜色为yellow,填充颜色为white,即用白色正五边形覆盖五角星的中学部分,画笔宽度为3,画笔速度最快,并隐藏画笔。完成绘图后,在图中添加文字“镂空五角星”

实例代码

import turtleimport mathl = 400 # 设定五角星的边长r = l * 2 / (math.sqrt(5) + 3) # 计算两个顶点的距离x = l * (math.sqrt(5) - 1) / (math.sqrt(5) + 3) # 计算五边形的边长turtle.speed(0) # 设置画笔的速度turtle.ht() # 隐藏画笔turtle.pensize(3) # 设置画笔的粗细# 设置画笔的初始位置turtle.penup()turtle.goto(-200, 50)turtle.pendown()# 绘制外面的五角星turtle.color("yellow", "red")turtle.begin_fill()for i in range(5):turtle.forward(l)turtle.right(144)turtle.end_fill()# 绘制正五角星turtle.penup()turtle.forward(r)turtle.pendown()turtle.color("yellow", "white")turtle.begin_fill()for i in range(5):turtle.forward(x)turtle.right(72)turtle.end_fill()# 在图中添加文字信息turtle.penup()turtle.goto(-150, -50)turtle.color("violet")turtle.write("镂空五角星", font=('微软雅黑', 48, 'bold'))turtle.done()

运行结果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。