zoukankan      html  css  js  c++  java
  • 分形几何中科赫雪花的绘制

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

    科赫曲线的绘制:

    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()
    
  • 相关阅读:
    高精度模板(未完待续)
    $CH0201$ 费解的开关
    $POJ2288$ $Islands$ $and$ $Bridges$
    luoguP1445 [Violet]樱花
    P3694 邦邦的大合唱站队
    [NOI2009]管道取珠
    [AHOI2006]基因匹配
    luogu P3411 序列变换
    HNOI2001 产品加工
    牛客ACM赛 B [小a的旅行计划 ]
  • 原文地址:https://www.cnblogs.com/lushuang55/p/13475906.html
Copyright © 2011-2022 走看看