分形几何中科赫雪花的绘制

分形几何在自然界中广泛存在(康托尔集、谢尔滨斯基三角形、门格海绵、龙形曲线、科赫曲线...),实际上分形几何是一种迭代的几何图形。本文主要讨论科赫曲线。

科赫曲线的绘制:

import turtle
def koch(size,n):#绘制科赫曲线含俩个参数,大小和阶数
    if n == 0:#基线情况
        turtle.fd(size)#0阶,即只有一条线段,直走
    else:
        for angle in [0,60,-120,60]:#当角度为0,60,120,60时
            turtle.left(angle)#转动角度
            koch(size/3,n-1)#在曲线1/3处递归调用科赫曲线
def main():
    turtle.setup(800,400)
    turtle.penup()
    turtle.goto(-300,-50)
    turtle.pendown()
    turtle.pensize(2)
    koch(600,3)#假设为三阶
    turtle.hideturtle()
main()

基于科赫曲线绘制科赫雪花:

import turtle
def koch(size,n):#绘制科赫曲线含俩个参数,大小和阶数
    if n == 0:#基线情况
        turtle.fd(size)#0阶,即只有一条线段,直走
    else:
        for angle in [0,60,-120,60]:#当角度为0,60,120,60时
            turtle.left(angle)#转动角度
            koch(size/3,n-1)#在曲线1/3处递归调用科赫曲线
def main():
    turtle.setup(600,600)
    turtle.penup()
    turtle.goto(-200,100)
    turtle.pendown()
    turtle.pensize(2)
    level=3#假设为三阶
    koch(400,level)
    turtle.right(120)
    koch(400,level)
    turtle.right(120)
    koch(400,level)#三段科赫曲线转动连接绘制
    turtle.hideturtle()
main()
posted @   Frommoon  阅读(1323)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示