话不多说先上最终效果图:
这个程序需要用到 turtle 库绘制图案, random 库获取随机颜色,以及 递归 的算法
具体的详细turtle库使用说明,推荐这个链接,非常详细》》》:turtle库官方文档简体中文
那这个程序怎么绘制呢?
首先用递归绘制一个3阶科勒曲线,代码有注释就不细说了,直接看代码》》》
step1: 定义一个函数koch有两个参数一个是长度,一个是次数
def koch(size, n):
if n == 0:#当n为0时,画一条直线
turtle.fd(size)
else:
for angle in [0, 60, -120, 60]:#n不为0时
turtle.left(angle)#将一条直线分三段,每次旋转相同角度
koch(size/3, n-1)#递归调用
#调用函数:
koch(400,3)
运行效果:
step2:画出了一段科勒曲线后,这还不是一个封闭图形,需要将三个科勒曲线连起来就是一个