小象学院—案例2—分形树(不完整)
作者:互联网
敲黑板!!!!!!
1、turtle库的使用(具体参照turtlr库的使用)
import turtle #声明
turtle.pensize(branch_length/10) #设置画笔大小
turtle.forward(branch_length) #画笔向前移动(默认初始向画板右侧)
turtle.right(20) #向右转动角度
turtle.color('green') #设置画笔颜色
turtle.penup() #画笔抬起
turtle.backward(150) #画笔向后
turtle.pendown() #画笔落下
turtle.exitonclick() #点击退出画板
2、函数嵌套、迭代
def draw_branch(branch_length): #输入参数branch_length、branch_length为根部第一节的长度 """ 绘制分形树 """ if branch_length > 5: # 绘制右侧树枝 turtle.pensize(branch_length/10) #根据枝干长度来设置画笔大小,从而控制树干粗细,
turtle.forward(branch_length) #沿着turtle现在的方向画出一条树枝 print('向前 ', branch_length)
turtle.right(20) #下一树枝右侧部分方向设置 print('右转 20') draw_branch(branch_length - 15) #调用函数画出右侧方向的树枝,直到树枝长度小于等于20,才不画下一节的树支 # 绘制左侧树枝 turtle.left(40) #右侧满树,此时branch_length值小于或等于20,左转40度,准备画出左侧树 print('左转 40') draw_branch(branch_length - 15) #两种情况 1、branch_length - 15 < 5 不满足条件->退出函数 # 2、否则画出左侧树枝 # 返回之前的树枝 if branch_length <= 15: turtle.color('green') else: turtle.color('brown')
turtle.right(20) print('右转 20') turtle.backward(branch_length) print('向后 ', branch_length)
标签:turtle,20,画笔,树枝,length,案例,分形,branch,学院 来源: https://www.cnblogs.com/mirocle/p/12132915.html