分形几何是一种迭代的几何图形,广泛存在于自然界中,科赫雪花,也叫雪花曲线,属于分形几何。
科赫雪花的绘制
- 递归思想:函数+分支
- 递归链条:线段的组合
- 递归基例:初始线段
#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);
turtle.penup();
turtle.goto(-200, 100);
turtle.pendown();
turtle.pensize(2);
turtle.speed(10);
level = 3;#3阶科赫曲线
koch(400, level);
turtle.right(120);
koch(400, level);
turtle.right(120);
koch(400, level);
turtle.hideturtle();
main();
运行结果:
打包:
(cmd命令行)pyinstaller -i logo.ico -F KochDraw.py
举一反三:
绘制条件扩展
- 修改分形几何阶数
- 修改科赫曲线的基本定义及旋转角度
- 修改绘制科赫雪花的基础框架图形
分形几何千千万
- 康托尔集、谢尔宾斯基三角形、门格海绵...
- 龙形曲线、空间填充曲线、科赫曲线、
- 函数递归的深入应用...
小花絮
本文仅为学习Python记录,资料来源于中国大学MOOC《Python语言设计》—嵩天