ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

034 实例8-科赫雪花小包裹

2021-04-16 08:52:04  阅读:208  来源: 互联网

标签:turtle 曲线 雪花 实例 koch 科赫 绘制 034


目录

  • 一、"科赫雪花小包裹"问题分析
    • 1.1 科赫雪花
    • 1.2 用Python绘制科赫曲线
  • 二、"科赫雪花小包裹"实例讲解(上)
    • 2.1 科赫曲线的绘制
    • 2.2 科赫雪花的绘制
  • 三、"科赫雪花小包裹"实例讲解(下)
  • 四、"科赫雪花小包裹"举一反三
    • 4.1 绘制条件的扩展
    • 4.2 分形几何千千万


一、"科赫雪花小包裹"问题分析

1.1 科赫雪花

高大上的分形几何

  • 分形几何是一种迭代的几何图形,广泛存在于自然界中

034-实例8-科赫雪花小包裹-01.jpg?x-oss-process=style/watermark

科赫曲线,也叫雪花曲线

034-实例8-科赫雪花小包裹-02.jpg?x-oss-process=style/watermark

1.2 用Python绘制科赫曲线

034-实例8-科赫雪花小包裹-03.jpg?x-oss-process=style/watermark

二、"科赫雪花小包裹"实例讲解(上)

2.1 科赫曲线的绘制

034-实例8-科赫雪花小包裹-04.jpg?x-oss-process=style/watermark

  • 递归思想:函数+分支
  • 递归链条:线段的组合
  • 递归基例:初识线段
# 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()

2.2 科赫雪花的绘制

# 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) 
    urtle.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()

034-实例8-科赫雪花小包裹-05.jpg?x-oss-process=style/watermark

三、"科赫雪花小包裹"实例讲解(下)

打包才能上路…

pyinstaller –i curve.ico –F KochDrawV2.py

034-实例8-科赫雪花小包裹-06.jpg?x-oss-process=style/watermark

  • 对编写后的科赫雪花代码进行打包处理

034-实例8-科赫雪花小包裹-07.jpg?x-oss-process=style/watermark

四、"科赫雪花小包裹"举一反三

4.1 绘制条件的扩展

  • 修改分形几何绘制阶数
  • 修改科赫曲线的基本定义及旋转角度
  • 修改绘制科赫雪花的基础框架图形

034-实例8-科赫雪花小包裹-08.jpg?x-oss-process=style/watermark

4.2 分形几何千千万

  • 康托尔集、谢尔宾斯基三角形、门格海绵…
  • 龙形曲线、空间填充曲线、科赫曲线…
  • 函数递归的深入应用…

标签:turtle,曲线,雪花,实例,koch,科赫,绘制,034
来源: https://blog.51cto.com/u_13804357/2709922

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有