科赫雪花小包裹问题分析

科赫曲线也叫雪花曲线

取一个长度为s的直线,取他的三分之一长度,去掉中间一部分,用另外两条线连着,两条线之间为60°,利用4根三分之一直线

科赫曲线的绘制

-递归思想:函数+分支

-递归链条:线段的组合

-递归基例:初识线段

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

科赫雪花的绘制

#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)

    level = 3              #3阶科赫雪花,阶数

    koch(400,level)

    turtle.right(120)

    koch(400,level)

    turtle.right(120)

    koch(400,level)

    turtle.hideturtle()

main()

打包

ptinstaller -i curve.ico -F KochDrawV2.py

举一反三

绘制条件扩展

-修改分形几何绘制阶数

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值