L-System et modélisation de plantes…

Slides:



Advertisements
Présentations similaires
Les présentateurs doivent souvent transmettre des informations techniques à des auditeurs qui connaissent moins bien le sujet et le vocabulaire spécifique.
Advertisements

Licence professionnelle
Algorithmique Résume.
Conception de Programmes Evolutifs Pré Soutenance de TER Année Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain.
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
UML - Présentation.
Séminaire Biblio LISC - 3/04/02 Complexité, information Daprès JP Delahaye (1999)
Rappels / concepts de base de l’IA
1°) consolider une connaissance des nombres
Chap 1 Grammaires et dérivations.
Nicolas Bourbaki.
INTRODUCTION.
Expressions rationnelles
Diagrammes de communication
IFT313 Introduction aux langages formels
Les bases de l’Algorithmique
IFT313 Introduction aux langages formels
DYALOG APL 2006 NameSpaces et Fonctions Dynamiques : Lapport de Dyalog APL 91, rue du Fb St Honoré PARIS tél. : Fax :
Introduction à l’Intelligence Artificielle
Etude des Technologies du Web services
Calcul et programmation au lycée avec Scilab
Analyse lexicale Généralités Expressions rationnelles Automates finis
P.T.S.I. Cinématique du solide F. Socheleau.
Programmation fonctionnelle Le langage LISP
Programmation logique Démonstrateur automatique
I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°3.
Algorithmique et Programmation
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke Révision de mi-session.
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke Automates à pile LR Notion de poignée.
Rappels de logique des prédicats du 1er ordre
Expressions régulières et hash tables
IFT Complexité et NP-complétude
1 CSI3525: Concepts des Languages de Programmation Notes # 3: Description Syntaxique des Languages.
Chapitre 9 Les sous-programmes.
Chapitre 3 Syntaxe et sémantique.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Initiation aux bases de données et à la programmation événementielle
Programmation logique Le Langage PROLOG
Rappel Modèle analyse-synthèse de la compilation
IFT Complexité et NP-complétude Chapitre 0 Rappels.
Jacques Nicolas INRIA /IRISA Rennes
8 - XML Cours XML.
Expressions régulières et hash tables
Paradigmes des Langages de Programmation
GRAPHES EN INFORMATIQUE. INTRODUCTION Les objets mathématiques appelés graphes apparaissent dans de nombreux domaines comme les mathématiques, la biologie,
La Logique du premier ordre LPO
INTRODUCTION.
Les machines de Turing Lionel Blavy Sébastien Giraud Fabien Tricoire
Approches Formelles en Systèmes d'information
Un survol du language C.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
Sémantique des expressions arithmétiques pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Le langage Z minimal Pr ZEGOUR DJAMEL EDDINE
Le langage Racket (Lisp)
1 Deuxième journée La programmation procédurale. 2 Unité de programmation : la procédure ou fonction Très semblable au math Un programme est un ensemble.
Introduction et Généralités sur l’Algorithmique
Introduction à MathML Par Katia Larrivée UQO Le 18 mars 2004.
Chap 1 Grammaires et dérivations.
CSI 3525, Grammaires, page 1 Description des langages –Syntaxe et sémantique –Grammaires –Sémantique axiomatique.
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
Scripts et fonctions Instructions de contrôle
LOGIQUE ET PROGRAMMATION LOGIQUE
31/05/2007Projet Master 11 Présentation ludique de la recherche opérationnelle à la fête de la science Année universitaire 2006/2007 Sylvain FIX Julien.
Introduction à l’utilitaire
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Introduction à L’Algorithmique
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

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 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,…).