本文主要是介绍函数递归,绘制科赫曲线和雪花分型图案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
下面展示 代码
利用函数递归
绘制科赫曲线
绘制雪花分型图案
import turtle
import timedef koch(angle,posx,posy,depth,length):if depth == 0:turtle.penup()turtle.goto(posx,posy)turtle.setheading(angle)turtle.pendown()turtle.forward(length)returnkoch(angle,posx,posy,depth-1,length/3)for i in range(3):current_x,current_y = turtle.pos()if i == 1:current_angle = turtle.heading() -120else:current_angle = turtle.heading() + 60koch(current_angle,current_x,current_y,depth-1,length/3)returndef drawSnowflake(angle,posx,posy,depth,length):for i in range(3):koch(angle,posx,posy,depth,length)posx,posy = turtle.pos()angle = turtle.heading() - 120if __name__ == "__main__":turtle.screensize(bg="gold")turtle.setup(1200, 700)turtle.pencolor("purple")turtle.showturtle()turtle.pensize(2)turtle.speed(0)start = time.perf_counter()############################################koch(0,-580,-300,5,900)drawSnowflake(0,100,150,3,400) # (angle,posx,posy,depth,length)# koch(0,-500,-200,4,900)#############################################t = time.perf_counter() - startprint("########",t)time.sleep(1)turtle.hideturtle()turtle.mainloop()
这篇关于函数递归,绘制科赫曲线和雪花分型图案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!