180 likes | 282 Views
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,
E N D
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 modélisation…
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: 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 (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: • SS [S[A]S[A]A] SS [S[A]S[A]A] S[A]S[A]A
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. • Couplés avec une interface graphique (java, QT,…).