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

目录一、”科赫雪花小包裹”问题分析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 kochsize, n):
    if n == 0:
        turtle.fdsize)
    else:
        for angle in [0, 60, -120, 60]:
            turtle.leftangle)
            kochsize / 3, n - 1)


def main):
    turtle.setup800, 400)
    turtle.penup)
    turtle.goto-300, -50)
    turtle.pendown)
    turtle.pensize2)
    koch600, 3)  # 3阶科赫曲线,阶数
    turtle.hideturtle)


main)

2.2 科赫雪花的绘制

# KochDrawV1.py

import turtle


def kochsize, n):
    if n == 0:
        turtle.fdsize)
    else:
        for angle in [0, 60, -120, 60]:
            turtle.leftangle)
            kochsize / 3, n - 1)


def main):
    turtle.setup600,600) 
    urtle.penup) 
    turtle.goto-200, 100) 
    turtle.pendown)
    turtle.pensize2)
    level = 3  # 3阶科赫雪花,阶数
    koch400, level)
    turtle.right120) 
    koch400, level)
    turtle.right120)
    koch400, 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 分形几何千千万

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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注