zoukankan      html  css  js  c++  java
  • 第17章 科赫雪花小包裹

    科赫雪花小包裹问题分析:

    科赫曲线,也叫雪花曲线。

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

    绘制结果如下图:

  • 相关阅读:
    【转】谈谈 JVM 内部锁升级过程
    TCP 和 UDP 协议简介
    《分布式系统原理介绍》读书笔记
    Paxos 协议简单介绍
    Lease 机制和 Quorum 机制
    HBase 学习二(最佳实践).
    HBase 学习一(基础入门).
    Spring 事务介绍
    《MySQL技术内幕:InnoDB存储引擎》读书笔记.
    数据库事务简介.
  • 原文地址:https://www.cnblogs.com/chy8/p/9457413.html
Copyright © 2011-2022 走看看