41 lines
729 B
Python
41 lines
729 B
Python
|
from uturtle import (
|
||
|
umonsTurtle, wait,
|
||
|
moveForward, moveBackward,
|
||
|
turnLeft, turnRight,
|
||
|
dropPen, usePen)
|
||
|
|
||
|
|
||
|
def arbre(t, x, a, n):
|
||
|
"""draw a tree
|
||
|
|
||
|
:t: turtle
|
||
|
:x: taille du tronc de base
|
||
|
:a: angle des branches
|
||
|
:n: profondeur de l'arbre
|
||
|
"""
|
||
|
moveForward(t, x)
|
||
|
arbre_rec(t, x, a, n)
|
||
|
|
||
|
|
||
|
def arbre_rec(t, x, a, n):
|
||
|
if n == 0:
|
||
|
return
|
||
|
turnLeft(t, a/2)
|
||
|
moveForward(t, x)
|
||
|
arbre_rec(t, x*5/6, a*5/6, n-1)
|
||
|
moveBackward(t, x)
|
||
|
|
||
|
turnRight(t, a)
|
||
|
moveForward(t, x)
|
||
|
arbre_rec(t, x*5/6, a*5/6, n-1)
|
||
|
moveBackward(t, x)
|
||
|
|
||
|
turnLeft(t, a/2)
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
turtle = umonsTurtle()
|
||
|
turnLeft(turtle)
|
||
|
arbre(turtle, 50, 45, 4)
|
||
|
wait()
|