科赫曲线

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了科赫曲线相关的知识,希望对你有一定的参考价值。

0 引言

日常生活中你是否留意过一些图案,就比如说雪花形状等,你是否想过利用python中某种方法去画出一朵精美的雪花图案呢?

1 问题

如何运用python中你所学到的知识,去画出一些日常生活中你所看到的图案,就比如说画出一朵精美的雪花图案。

2 方法

我们这里使用python中的第三方库turtle库,以及利用科赫曲线(科赫曲线是一种雪花的几何曲线,所有称雪花曲线)去画出一朵精美的雪花图案。

3 实验结果与讨论

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

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.speed()
turtle.penup()
turtle.goto(-200,100)
turtle.pendown()
turtle.pensize(2)
level = 5
koch(400,level)
turtle.right(120)
koch(400,level)
turtle.right(120)
koch(400,level)
turtle.hideturtle()
turtle.done()
main()

4 结语

针对绘制雪花图案问题,提出是用turtle库方法,利用科赫曲线证明该方法是有效的,我们还可以进一步拓展,比如把三边改为四边,再去绘制一些其他图形。

以上是关于科赫曲线的主要内容,如果未能解决你的问题,请参考以下文章

第17章 科赫雪花小包裹

python学习 第八个程序 科赫雪花

构造一条三次Bezier曲线

Python科赫雪花代码

实例8:科赫雪花小包裹

Python画科赫雪花