分形幾何在自然界中廣泛存在(康托爾集、謝爾濱斯基三角形、門格海綿、龍形曲線、科赫曲線...),實際上分形幾何是一種迭代的幾何圖形。本文主要討論科赫曲線。

科赫曲線的繪制:

import turtle
def koch(size,n):#繪制科赫曲線含倆個參數,大小和階數
if n == 0:#基線情況
turtle.fd(size)#0階,即只有一條線段,直走
else:
for angle in [0,60,-120,60]:#當角度為0,60,120,60時
turtle.left(angle)#轉動角度
koch(size/3,n-1)#在曲線1/3處遞歸調用科赫曲線
def main():
turtle.setup(800,400)
turtle.penup()
turtle.goto(-300,-50)
turtle.pendown()
turtle.pensize(2)
koch(600,3)#假設為三階
turtle.hideturtle()
main()

基於科赫曲線繪制科赫雪花:
import turtle
def koch(size,n):#繪制科赫曲線含倆個參數,大小和階數
if n == 0:#基線情況
turtle.fd(size)#0階,即只有一條線段,直走
else:
for angle in [0,60,-120,60]:#當角度為0,60,120,60時
turtle.left(angle)#轉動角度
koch(size/3,n-1)#在曲線1/3處遞歸調用科赫曲線
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)
koch(400,level)
turtle.right(120)
koch(400,level)#三段科赫曲線轉動連接繪制
turtle.hideturtle()
main()
