欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

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

发布时间:2024/1/18 python 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 「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()

运行结果

 

 

总结

以上是生活随笔为你收集整理的「Python海龟画图」利用海龟画笔绘制镂空五角星的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。