python繪圖案例——遞歸繪製分形樹


運行效果圖

案例分析:

1、樹幹初始值爲50

2、每次繪製完樹枝後,畫筆右轉20度

3、繪製下一段樹枝時,長度減少15,。重複2——3操作直到終止

4、終止條件:樹幹長度小於5,此時爲頂端樹枝

5、達到終止條件後,畫筆左轉40度,以當前長度減少15,繪製樹枝

6、右轉20度,回到原方向,退回上一個節點,直到操作完

示例代碼

## 繪製分型樹,末梢的樹枝的顏色不同

import turtle

def draw_brach(brach_length):

if brach_length > 5:

if brach_length < 40:

turtle.color('green')

else:

turtle.color('red')

# 繪製右側的樹枝

turtle.forward(brach_length)

print('向前',brach_length)

turtle.right(25)

print('右轉20')

draw_brach(brach_length-15)

# 繪製左側的樹枝

turtle.left(50)

print('左轉40')

draw_brach(brach_length-15)

if brach_length < 40:

turtle.color('green')

else:

turtle.color('red')

# 返回之前的樹枝上

turtle.right(25)

print('右轉20')

turtle.backward(brach_length)

print('返回',brach_length)

def main():

turtle.left(90)

turtle.penup()

turtle.backward(150)

turtle.pendown()

turtle.color('red')

draw_brach(100)

turtle.exitonclick()

if __name__ == '__main__':

main()

運行過程:

python繪圖案例——遞歸繪製分形樹

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章