Partie I: Modélisation d’une plante

La modélisation de la croissance de plantes est un sujet très documenté. La littérature propose en effet de nombreux modèles pour décrire le fonctionnement d’une plante. Il suffit de faire une recherche sur le web, pour en faire le constat.

De nombreux travaux mettent en œuvre ces modèles a travers des simulations. En agronomie par exemple, certains chercheurs s’intéressent au mais , pour étudier l’effet de la température[1], de l’exposition à la lumière[2] et à la compétition entre plantes.

Granularité

La premières question qui se pose lorsque l’on souhaite construire un modèle d’un système complexe comme celui d’une plante, est celle de la granularité,  à savoir décider de l’échelle des composants élémentaires de notre organisme:  niveau cellulaire, au niveau des organes, etc.

La partie aérienne (on ne se soucie pas des racines) est généralement décrite comme un empilement d’entre-noeuds (ensemble composé de la tige proprement dite, de bourgeons et de feuilles), au sommet duquel se trouve l’apex, un massif de cellules indifférenciées qui peuvent produire de nouveaux organes. Les bourgeons sont des apex en puissance, et peuvent permettre des embranchements. Les inflorescences sont produites par les apex. Le fonctionnement de tout ces organes est régi par le métabolisme et  donc de la disponibilités de certaines ressources.

Pour simuler la croissance de nos plantes, le niveau cellulaire semble bien trop complexe a mettre en oeuvre, il faudrait en effet simuler une quantité considérable de cellules, leur communication, etc.   qui finalement ne nous serait pas nécessaire.

La décomposition d’une plante en organes semble plus raisonnable: les tiges, les feuilles, les apex, bourgeons, les fleurs…seront nos blocs élémentaires pour construire une plante.

C’est ce niveau qui a été retenu dans l’un des plus modèles les plus connus – et qu’il aurait été impossible de ne pas citer ici –  proposé par le biologiste A. Lindenmeyer en 1968, les L-Systems [3],[4].

L -Systems

Le principe des L-Systems est relativement simple, il s’agit essentiellement d’un système de réécriture de chaînes de symboles. Dit ainsi, cela parait abstrait, mais nous allons rendre les choses plus concrètes, en donnant une représentation graphique à ces chaines de symboles. Supposons que l’on dispose d’une ‘tortue graphique’, que l’on peut piloter a l’aide de commandes représentées par des symboles:

  • Le symbole ‘L’ pour tracer une ligne d’une longueur prédéfinie

  • Les symboles + et -, qui permettent de changer l’orientation de la tortue (et donc de toute nouvelle ligne tracée) selon un angle prédéfini

Sur cette image, observons la première figure en partant haut: c’est une ligne horizontale, ce qui correspond à l’interprétation de la commande ‘L’. De même, la seconde figure est obtenue par la séquence L+L–L+L :

Courbe de Von Koch générée par un L-System

Voyons comment construire les figures sur les lignes suivantes: L’approche des L Systems consiste a définir une règle de réécriture pour remplacer des symboles d’une chaîne initiale (l’axiome), par de nouvelles chaines , qui remplace par exemple ici le symbole L par la chaîne L+L–L+L, ce que l’on note:

  • Axiome: L
  • Regle: L -> L+L–L+L

Partant de l’axiome L, en appliquant successivement la règle définie ici, on obtient les chaines suivantes.

  1. L
  2. L+L–L+L
  3. L+L–L+L+L+L–L+L–L+L–L+L+L+L–L+L
  4. L+L–L+L+L+L–L+L–L+L–L+L+L+L–L+L+L+L–L+L+L+L–L+L–L+L–L+L+L+L–L+L–L+L–L+L+L+L–L+L–L+L–L+L+L+L–L+L+L+L–L+L+L+L–L+L–L+L–L+L+L+L–L+L
  5. ..

C’est ainsi que l’on obtient toutes les figures de l’image précedente.  La même règle, en partant d’un axiome initial différent, et en fixant l’angle de rotation:

En complétant la liste de symbole pour permettre de mémoriser puis restaurer l’état de la tortue (à l’aide d’une pile), il est possible de produire des structures arborescentes, comme dans la séquence suivante:

Bien entendu, il est possible d’utiliser d’avantage de symboles, et donner de nouvelles capacités à la tortue graphique, afin d’ajouter de la complexité aux formes obtenues. Une application WebGL  permet de jouer avec les formules des L-Systems.

            

Cependant, le passage d’un niveau d’itération à un autre est assez abrupt, on est loin d’un développement progressif. Il existe des variantes des L-Systems pour palier à ce problème, comme les L-systems paramétriques et contextuels, mais ils s’avère rapidement complexe de manipuler de nombreuses règles, et les chaines produites sont rapidement illisibles. Certains auteurs comme Prusinkiewicz  ont su réaliser toutefois des choses remarquables [5],[6]. Son site algorithmicbotany.org est une mine d’information à visiter absolument!

Approche distribuée

Pour notre application nous allons procéder autrement, tout en gardant le même niveau de granularité, en organes. Nous allons adopter une approche distribuée, en répartissant le calcul de la croissance dans chaque organe de la plante, ce qui sera beaucoup plus intuitif. Il n’y aura plus de système centralisé, ni de ‘tortue graphique’.

Les organes calculent leur comportement en fonction de leur état interne, de paramètres environnementaux, ainsi que de l’état des autres organes (en leur permettant éventuellement de communiquer entre eux).

En d’autres termes, c’est une approche multi-agent, où chaque agent est un organe de la plante. Ce modèle a fait l’objet d’une publication à l’occasion de la conférence Virtual Worlds en 2000[7]. La particularité d’une plante ainsi modélisée, c’est que certains agents auront pour rôle de fabriquer d’autres agents. Il reste maintenant a choisir quels organes modéliser.

Pour une première espèce de plante, nous resterons dans la simplicité, en ne créant qu’un seul organe, qui combine les capacités d’un apex et la structure d’un entre-nœud:

  • La forme de base de cet organe est celle d’une portion de tige.
  • Un seul comportement de croissance pour tous les organes
  • Possibilité des organes situés aux extrémités de créer de nouveaux modules

Dans la prochaine partie, nous allons rentrer d’avantage dans le concret, et définir les blocs élémentaires pour construire nos formes arborescentes.

Références

  • [1] Fournier, C., Introduction de réponses écophysiologiques à la  température dans  un modèle de plante à base de L-Systèmes, mémoire du DEA Fonctionnement Physique Chimique et Biologique de la Biosphère Continentale, INA P-G/Paris VI/ENS, 1995.
  • [2] Fournier, C. et Andrieu, B., ADEL-maize an L-system model for the integration of growth processes from the organ to the canopy. Application to regulation of morphogenesis by light availability, in Agronomie’99, INRA – Unité de Recherche enBioclimatologie, 1999.
  • [3] Lindenmayer, A., Mathematical models for cellular interaction in development, Parts I and II, in Journal of Theoretical Biology 18, 1968, 280-315
  • [4] Prusinkiewicz, P. et Lindenmayer, A.TheAlgorithic beauty of plants, Springer-Verlag, New York, 1990.19
  • [5] Mech, R. et Prusinkiewicz, P., Visual Models of Plants Interacting with Their Environment, in Proceedings of SIGGRAPH 96, 1996, 397-410. 18.
  • [6] Prusinkiewicz, P.,Hammel, M.,Hanan, J. et Mech, R., Visual models of plant development, in Rozenberg, G. and Salomaa, A. Eds., Handbook of formal languages, Springer-Verlag, 1996
  • [7] Sikora, S., Steinberg D., et  Lattaud C., Integration of simulation tools in on-line virtual worlds, in J.-C. Heudin Ed., Proceedings of the 2nd International Conference on Virtual World, 2000, Springer Verlag.

Sites

software design & creative process