分形幾何中科赫雪花的繪制


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

科赫曲線的繪制:

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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM