Lsystems/Python/ArbreRecursif1.py

50 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
from turtle import *
# Génération de plante par grammaire L-system
def initialisation():
# Définition des variables indépendantes de la grammaire
# Pour le flocon de Koch
nbiteration = 3
longueur = 200
angle = 45
axiome = 'F'
regle = 'F+F--F+F'
return nbiteration, longueur, angle, axiome, regle
def production(nbiteration, longueur, angle, axiome, regle):
if nbiteration == 0 :
forward(longueur)
else:
i = 0
while i < len(regle):
regle1 = regle[i]
if regle1 == 'F':
production(nbiteration-1, longueur/3, angle, axiome, regle)
if regle1 == '+':
left(angle)
if regle1 == '-':
right(angle)
i = i + 1
# Placement initial de la tortue
up()
backward(200)
down()
# Programme principal
## init[1] : nbiteration
## init[2] : longueur
## init[3] : angle
## init[4] : axiome
## init[5] : regle
init = initialisation()
production(init[0], init[1], init[2], init[3], init[4])
right(120)
production(init[0], init[1], init[2], init[3], init[4])
right(120)
production(init[0], init[1], init[2], init[3], init[4])
#quit()