python科赫雪花小包裹_034 实例8-科赫雪花小包裹-Go语言中文社区

本文介绍了科赫雪花这一分形几何图形,并通过Python实现递归绘制科赫曲线与雪花。文章分为四个部分,包括问题分析、实例讲解上下篇及代码打包与拓展思考,探讨了递归思想在绘制分形几何图形中的应用。
摘要由CSDN通过智能技术生成

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

1.1 科赫雪花

高大上的分形几何

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

feb35928e24fc02953efed0dd803069c.png

科赫曲线,也叫雪花曲线

c9e5f38794367bcf2b6835346c7b83f7.png

1.2 用Python绘制科赫曲线

25c8a0f357008013765dd38835fe6b3e.png

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

2.1 科赫曲线的绘制

f6b96e159ca167459a30f08fe404ec69.png

递归思想:函数+分支

递归链条:线段的组合

递归基例:初识线段# 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()

d1c976bc78ea8dc8c0e662a4c98513e7.png

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

打包才能上路…

pyinstaller –i curve.ico –F KochDrawV2.py

6dc749cff10a875bf675b369bc09b00f.png

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

74f9604c4943595f2e1dccf48c951ada.png

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

4.1 绘制条件的扩展

修改分形几何绘制阶数

修改科赫曲线的基本定义及旋转角度

修改绘制科赫雪花的基础框架图形

68fdb04908388bb1e2caba6761624f40.png

4.2 分形几何千千万

康托尔集、谢尔宾斯基三角形、门格海绵…

龙形曲线、空间填充曲线、科赫曲线…

函数递归的深入应用…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值