科赫雪花小包裹问题分析:
科赫曲线,也叫雪花曲线。
用python绘制科赫曲线
一条直线取1/3长的线段,把中间的1/3段去掉,然后在搭建成60°的三角状,emmm,如下图所示:
科赫雪花的绘制
递归思想:函数+分支
递归链条:线段的组合
递归基例:初识线段
1 #KochDrawV1.py 2 import turtle 3 def koch(size, n): 4 if n == 0: 5 turtle.fd(size) 6 else: 7 for angle in [0, 60, -120, 60]: 8 turtle.left(angle) 9 koch(size/3, n-1) 10 def main(): 11 turtle.setup(800,400) 12 turtle.penup() 13 turtle.goto(-300, -50) 14 turtle.pendown() 15 turtle.pensize(2) 16 koch(600,3) # 0阶科赫曲线长度,阶数 17 turtle.hideturtle() 18 main()
效果如下图所示:
完整的科赫雪花的绘制代码:
1 #KochDrawV2.py 2 import turtle 3 def koch(size, n): 4 if n == 0: 5 turtle.fd(size) 6 else: 7 for angle in [0, 60, -120, 60]: 8 turtle.left(angle) 9 koch(size/3, n-1) 10 def main(): 11 turtle.setup(600,600) 12 turtle.penup() 13 turtle.goto(-200, 100) 14 turtle.pendown() 15 turtle.pensize(2) 16 level = 3 # 3阶科赫雪花,阶数 17 koch(400,level) 18 turtle.right(120) 19 koch(400,level) 20 turtle.right(120) 21 koch(400,level) 22 turtle.hideturtle() 23 main()
绘制结果如下图:
原文地址:https://www.cnblogs.com/chy8/p/9457413.html
时间: 2024-11-08 23:57:19