L-System et
modélisation de
plantes…
Plan
Introduction
Grammaire formelle
Structure L-System
Exemple de L-System
Application aux plantes
Logiciel de modélisation de structure L-
System : L-System4
Introduction
Les L-System ont été créés par Aristid Lindenmayer,
But : modéliser les processus de croissance des plantes ou des bactéries.
Traduction algorithmique de leur schéma de prolifération.
Son modèle s’appuit sur les grammaires formelles appelées L- System.
Cellules => symboles.
Division cellulaire => remplacement du symbole d’une cellule par ceux des cellules obtenues après division.
Rappel : Grammaire Formelle (1)
Définition d’une syntaxe :
éléments de base comme les lettres d’un alphabet
Rêgles de construction des mots.
La syntaxe produit donc un ensembles de mots.
Langage formel = ensemble des mots de longueur finie construits sur un alphabet fini.
Rappel : Grammaire Formelle (2)
Utilité en informatique : vérifier qu’un élément est construit sur une syntaxe précise.
Utilisation :
Compilation lors de l’analyse syntaxique
Analyse et traitement des langues naturelles.
Exemples de grammaires formelles :
Expressions arithmétiques
exp -> exp + exp | exp * exp | (exp) | num
num -> 0num|1num|2num|3num|4num|5num|6num|7num|8num|9num|0|
1|2|3|4|5|6|7|8|9
Logique propositionnelle ….
Expressions régulières….
L-System : grammaire formelle
Un L-System grammaire formelle
1) un alphabet V
(un ensemble de symboles variables propres au L-System)
2) un ensemble de symboles constants S
(dont certains commun à tous les L-System pour leur interprétation) -> voir le symbole F
3) un axiome de départ w
(un ensemble de symboles appartenant à V)
4) un ensemble de règles de reproduction des symboles de V.
Notation : G={V,S,w,P}
Exemple de L-System (1)
Le L-System original de Lindenmayer pour modéliser les algues:
Variables : A B
Constantes : aucunes
Axiome de départ : A
Règles : (A -> AB),(B -> A)
Les itérations produisent :
n=0 : A -> AB
n=1 : AB -> AB A
n=2 : ABA -> AB A AB
n=3 : ABAAB -> AB A AB AB A
Etc…
Exemple de L-System (2)
Les Nombres de fibonacci sont un L-System
(Les L-System ne sont pas que des modélisations du monde vivant)
Variables : A B
Constantes : aucunes
Axiome de départ : A
Règles : (A-> B),(B->AB)
Les itérations produisent :
n=0 : A
n=1 : B
n=2 : AB
n=3 : BAB
n=4 : ABBAB
n=5 : BABABBAB
n=6 : ABBABBABABBAB
Si l’on compte la longueur de chaque string, on obtient la séquence des nombres de fibonacci : 1 1 2 3 5 8 13 21 34 55 89
(Fameuse fonction non calculable au sens de turing)
Interprétation graphique
Intérêt des L-System : interprétation graphique.
Le mot obtenu : aucun sens en soit.
Interprétation de gauche à droite.
Chaque symbole (constant et variable) 1 élément graphique.
Des symboles spécifiques introduits.
Ces symboles définissent le comportement d’un voyageur imaginaire qui parcourrait la chaîne obtenue.
On parle de « Turtle interpretation »
Turtle interpretation
Voici les symboles de parcours les plus connus :
F : Se déplacer d’un pas unitaire
+ : Tourner à gauche d’angle alpha
- : Tourner à droite d’un angle alpha
& : Pivoter vers le bas d’un angle alpha
^ : Pivoter vers le haut d’un angle alpha
< : Roulez vers la gauche d’un angle alpha
> : Roulez vers la droite d’un angle alpha
| : Tourner sur soi-même de 180°
[ : Sauvegarder la position courante
] : Restaurer la dernière position sauvée
On peut constater que l’open-GL va se prêter idéalement à cette
Exemple de L-System (3)
Koch Snowflake (flocon de neige)
Variables : F
Constantes : aucunes
Axiome de départ : F
Règles : (F -> F+F-F-F+F)
n=0:
F
n=1:
F+F-F-F+F
n=2:
Exemple de L-System (4)
n=3:
F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F+ F+F-F-
F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F- F+F-F-F+F+F+F-F- F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F- F+F-F-F+F+F+F-F-F+F-F+F-F- F+F-F+F-F-F+F+F+F-F-F+F+ F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F- F+F+F+F-F-F+F
Exemple de L-System (5)
Penrose tilings (les tuiles de Penrose)
Les tuiles de Penrose est un modèle de tuiles pouvant recouvrir complètement une surface infinie
Application aux éléments du monde végétal (1)
Un exemple simple de L-System dont l’axiome est A
On peut assimiler A à un bourgeon et S à un segment d’entre-noeud
Variables : A S
Axiome de départ : A
Règles :
A -> S[A]S[A]A
S –> SS
n=0:
A
n=1:
S[A]S[A]A
n=2:
Application aux éléments du monde végétal (2)
Ce qui donne :
Application aux éléments du monde végétal (3)
Exemple de croissance de
nadinus x ouellettus obtenue par L-System:
L-System - recherche agronomique – open-gl
Le cirad en collaboration avec des universités du canada développe des programmes basés sur les L-System.
http://amap.cirad.fr/
Botanique et bioinformatique de l’architecture des plantes
Sur le web : de nombreux logiciels permettent la modélisation et la génération de formes vivantes du monde végétal:
L-System 4
http://www.geocities.com/tperz/L4Home.htm
Ces logiciels sont développés en OPEN-GL pour la plupart.