科赫曲线

科赫曲线绘制方法
一条直线均分为三段,去掉中间部分,然后在中间部分凸起一个等边三角形。下一阶科赫曲线时把上一阶的每条线段再做一次科赫变换。
n阶科赫曲线对n-1阶科赫曲线形成递归链条。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#kochDrawV1.py
# 从N阶一直传递到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)
#koch(600, 3) #3阶科赫曲线
level = 3
koch(400, level)
t.right(120)
koch(400, level)
t.right(120)
koch(400, level)
t.hideturtle()
main()
|
