python中turtle绘制科赫雪花

效果图如下,采用递归实现。注意一点,角度设置是按所画曲线的方向为x轴来设定,所以是0,60,-120,60.

python中turtle绘制科赫雪花_第1张图片

# coding=utf-8
# 科赫曲线  分形几何:整体和局部都有相似之处
import turtle


def koch(size, n):
    if n == 0:
        turtle.fd(size)
    else:
        for angle in [0, 60, -120, 60]:
            turtle.left(angle)
            koch(size / 3, n - 1)


def main():
    turtle.setup(600, 600)
    turtle.penup()
    turtle.goto(-200, 100)
    turtle.pendown()
    turtle.pensize()
    level = 3
    koch(400, level)
    turtle.right(120)
    koch(400, level)
    turtle.right(120)
    koch(400, level)
    turtle.hideturtle()
    turtle.done()


main()

 

你可能感兴趣的:(Python学习)