一、科赫雪花简介:
所谓科赫雪花,也就是分形几何图形,例如:
分形几何是一种迭代的几何图形,广泛存在于自然界中。
我们来看看原理图:
二、科赫雪花的递归代码
先看看科赫曲线的递归代码:
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)
在n阶科赫曲线中,n-1阶的科赫曲线是由n阶的科赫曲线所构成。仔细想一下就能想通。
三、科赫雪花完整代码
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(2)
level = 3 #三阶的科赫曲线
koch(400, level)
turtle.right(120) #转动120度,使得科赫曲线能围城一个三角形,形成最终的科赫雪花
koch(400, level)
turtle.right(120)
koch(400, level)
turtle.hideturtle() #隐藏画笔
main()
最终样图: