您的当前位置:首页正文

Python绘制科赫雪花分形

2024-11-22 来源:个人技术集锦

Python绘制科赫雪花分形

import turtle


# 递归函数来绘制科赫雪花的一段
def koch_snowflake(turtle, steps, length):
    if steps == 0:
        turtle.forward(length)
    else:
        koch_snowflake(turtle, steps - 1, length / 3)
        turtle.left(60)
        koch_snowflake(turtle, steps - 1, length / 3)
        turtle.right(120)
        koch_snowflake(turtle, steps - 1, length / 3)
        turtle.left(60)
        koch_snowflake(turtle, steps - 1, length / 3)

    # 创建一个新窗口,并设置其背景色


window = turtle.Screen()
window.bgcolor("white")

# 创建一个新的 turtle 对象
snowflake_turtle = turtle.Turtle()
snowflake_turtle.speed(0)  # 最快速度

# 将画笔提起,移动到起始位置
snowflake_turtle.penup()
snowflake_turtle.goto(-150, 90)  # 起始位置
snowflake_turtle.pendown()

# 绘制科赫雪花,阶数为 4,每段长度为 300
for i in range(3):
    koch_snowflake(snowflake_turtle, 4, 300)
    snowflake_turtle.right(120)  # 旋转 120 度以开始下一段

# 完成绘制后关闭 turtle
turtle.done()

显示全文