科赫曲线,也叫做雪花曲线。是一种分形几何,分形几何是一种迭代的几何图形,广泛存在于自然界中。科赫曲线是一种迭代的图形,我们可以利用python中的迭代法来绘制。对于如何实现迭代。
首先我们确定递归的基例,考虑最基本的情况,就是直接绘制一条曲线,没有任何的改变,即0阶的科赫曲线。
效果如下:
由上面这样的三条科赫曲线就能得到一片雪花:
import turtle as t
def koch(size, n):
if n == 0:
t.fd(size)
else:
for angle in [0, 60, -120, 60]:
t.left(angle)
koch(size/3, n-1)
def main():
t.setup(600,600)
t.penup()
t.goto(-200, 100)
t.pendown()
t.pensize(2)
t.pencolor('red')
level = 3 # 3阶科赫雪花,阶数
koch(400,level)
t.right(120)
koch(400,level)
t.right(120)
koch(400,level)
t.hideturtle()
t.done()
main()
效果如下:
我们还可以通过改变参数来得到我们所需要的高阶图形,也可以通过加快画笔的速度来缩减画图的所用时间。
结语:没有一片雪花是无辜的,我们都不是例外