函数递归,绘制科赫曲线和雪花分型图案
下面展示 代码
利用函数递归
绘制科赫曲线
绘制雪花分型图案
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()

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
