Python之科赫曲线绘制

#实验四.py
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(800,400)
    turtle.seth(0)
    turtle.pencolor("green")#颜色
    turtle.speed(0)  #控制绘制速度
    turtle.penup()
    turtle.goto(-300, -50)
    turtle.pendown()
    turtle.pensize(2)
    koch(600,1)     # 1阶科赫曲线长度,阶数
    turtle.pencolor("red")#颜色
    turtle.seth(60)
    turtle.penup()
    turtle.goto(-300, -50)
    turtle.pendown()
    turtle.pensize(2)
    koch(600,2)     # 2阶科赫曲线长度,阶数
    turtle.pencolor("yellow")#颜色
    turtle.seth(120)
    turtle.penup()
    turtle.goto(-300, -50)
    turtle.pendown()
    turtle.pensize(2)
    koch(600,3)     # 3阶科赫曲线长度,阶数
    turtle.pencolor("blue")#颜色
    turtle.seth(180)
    turtle.penup()
    turtle.goto(-300, -50)
    turtle.pendown()
    turtle.pensize(2)
    koch(600,4)     # 4阶科赫曲线长度,阶数
    turtle.pencolor("purple")#颜色
    turtle.seth(240)
    turtle.penup()
    turtle.goto(-300, -50)
    turtle.pendown()
    turtle.pensize(2)
    koch(600,5)     # 5阶科赫曲线长度,阶数
    turtle.pencolor("gold")#颜色
    turtle.seth(-60)
    turtle.penup()
    turtle.goto(-300, -50)
    turtle.pendown()
    turtle.pensize(2)
    koch(600,6)     # 6阶科赫曲线长度,阶数
    turtle.hideturtle()
main()

 

你可能感兴趣的:(Python之科赫曲线绘制)