1. 程式人生 > >【python】【turtle畫圖模組】【科赫分形圖】

【python】【turtle畫圖模組】【科赫分形圖】

科赫曲線是分形幾何中的一種。非常具有數學美感的一種曲線。

先定義下投影長度:曲線總長度在當前角度的投影

科赫曲線的定義(從繪製的角度定義)是遞迴的:

繪製投影長度為size的第n階的科赫曲線:

1.若n=0,則繪製長度為size的直線

2.否則,按順序分別旋轉0,60,-120,60度,每旋轉一個角度後繪製投影長度為size/3的n-1階科赫曲線
 

import turtle

def draw(t,n,size):
    if(n==0):
        t.fd(size)
    else:
        t.left(0)
        draw(t,n-1,size/3)
        t.left(60)
        draw(t,n-1,size/3)
        t.left(-120)
        draw(t,n-1,size/3)
        t.left(60)
        draw(t,n-1,size/3)


def main():
    n=int(input())
    turtle.setup(640,480)
    turtle.title("繪製Koch雪花曲線")
    t=turtle.Turtle()
    t.hideturtle()
    t.up()
    t.goto(0,0)
    t.down()
    for i in range(3):
        draw(t,n,300)
        t.right(120)
    turtle.mainloop()

main()