034 实例8-科赫雪花小包裹
目录
十天快速入门 Python完整教程目录:https://www.cnblogs.com/nickchen121/p/11164387.html
一、"科赫雪花小包裹"问题分析
1.1 科赫雪花
高大上的分形几何
- 分形几何是一种迭代的几何图形,广泛存在于自然界中
科赫曲线,也叫雪花曲线
1.2 用Python绘制科赫曲线
二、"科赫雪花小包裹"实例讲解(上)
2.1 科赫曲线的绘制
- 递归思想:函数+分支
- 递归链条:线段的组合
- 递归基例:初识线段
# 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()
三、"科赫雪花小包裹"实例讲解(下)
打包才能上路…
pyinstaller –i curve.ico –F KochDrawV2.py
- 对编写后的科赫雪花代码进行打包处理
四、"科赫雪花小包裹"举一反三
4.1 绘制条件的扩展
- 修改分形几何绘制阶数
- 修改科赫曲线的基本定义及旋转角度
- 修改绘制科赫雪花的基础框架图形
4.2 分形几何千千万
- 康托尔集、谢尔宾斯基三角形、门格海绵…
- 龙形曲线、空间填充曲线、科赫曲线…
- 函数递归的深入应用…