在Python中使用 Turtle 打印星形分形
先决条件:海龟编程基础
分形是倾向于具有重复有限次数的自相似结构的对象。本文的目标是绘制一个星形分形,其中在星形的每个角上绘制星形结构,并重复此过程,直到输入大小减小到值10 。为了实现这种星形分形图案,使用了海龟模块。
使用的方法
- forward(value):它向前移动海龟。
- speed(value):它改变乌龟的速度。
- penup():停止绘图。
- pendown():开始绘图。
- left(value):将海龟向左移动。
方法
- 进口龟。
- 初始化乌龟。
- 更改背景颜色。
- 制作一个绘制星星的函数。
- 在 for 循环内递归调用上述函数以制作整个开始模式。
下面是上述方法的实现。
Python3
# import turtle
import turtle
# initialise turtle instance
stars = turtle.Turtle()
# increases the speed of turtle
stars.speed(10)
# to change the background color
stars.getscreen().bgcolor("black")
stars.color("red")
# stop drawing
stars.penup()
# move the turtle
stars.goto((-200, 50))
# start drawing
stars.pendown()
# function to draw stars
def star(turtle, size):
if size <= 10:
return
else:
for i in range(5):
# moving turtle forward
turtle.forward(size)
star(turtle, size/3)
# moving turtle left
turtle.left(216)
# calling the star function
star(stars, 360)
turtle.done()
输出: