科赫曲线也叫雪花曲线
取一个长度为s的直线,取他的三分之一长度,去掉中间一部分,用另外两条线连着,两条线之间为60°,利用4根三分之一直线
科赫曲线的绘制
-递归思想:函数+分支
-递归链条:线段的组合
-递归基例:初识线段
#KochDrawV1.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.penup()
turtle.goto(-300,-50)
turtle.pendown()
turtle.pensize(2)
koch(600,3) #3阶科赫曲线,阶数
turtle.hideturtle()
main()
科赫雪花的绘制
#KochDrawV1.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(600,600)
turtle.penup()
turtle.goto(-200,-100)
turtle.pendown()
turtle.pensize(2)
level = 3 #3阶科赫雪花,阶数
koch(400,level)
turtle.right(120)
koch(400,level)
turtle.right(120)
koch(400,level)
turtle.hideturtle()
main()
打包
ptinstaller -i curve.ico -F KochDrawV2.py
举一反三
绘制条件扩展
-修改分形几何绘制阶数
-修改科赫曲线的基本定义及旋转角度
-修改科赫雪花的基础框架图形