版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/PigeonKiing/article/details/102523569
科赫雪花
科赫雪花是一个分形几何图形,分形几何是一种迭代的几何图形,广泛存在于自然界。
科赫雪花是由正三角形的三条科赫曲线构成的。
科赫曲线
问题解析
要绘制一个这样的科赫雪花,首先我们要绘制一条符合要求的科赫曲线。
因此问题就拆分成:
绘制一条科赫曲线
将三条科赫曲线组成正三角形
完成上述两个步骤即可完成科赫雪花的绘制。
绘制科赫曲线
我们看一下科赫曲线,它是一个很明显的迭代过程,
函数:定义一个函数,实现绘制科赫曲线的功能;
条件:判断是几阶的科赫曲线;
基例:如果是0阶曲线,那么直接绘制一条直线即可;
链条:如果是n阶科赫曲线,那么需要绘制4段(n-1)阶的科赫曲线
科赫曲线代码
def Kole(lenth,n):
if n==0: #基例
t.fd(lenth)
else: #链条
for i in [0,60,-120,60]:
t.left(i)
Kole(1/3*lenth,n-1)
科赫雪花代码
# 5_snowflower.py
import turtle as t #绘制科赫曲线
def Kole(lenth,n):
if n==0:
t.fd(lenth)
else:
for i in [0,60,-120,60]:
t.left(i)
Kole(1/3*lenth,n-1)
def main(): #绘制科赫雪花
t.setup(800,600)
t.hideturtle()
t.pensize(5)
t.pencolor("green")
t.pu()
t.goto(-300,0)
t.pd()
lenth=200
n=3
for i in range(3):
Kole(lenth,n)
t.left(-120)
main()
t.done()
总结
这道题其实不是很难,只需要掌握好迭代的方法,按照基本的迭代思路对问题求解,去实现功能即可。
有兴趣的朋友可以看看我的其他博文的练习题哦。如果对文章有疑问请留言!