• Aucun résultat trouvé

Interaction avec l’environnement

7.3.1 Les L-systèmes sensibles à l’environnement

L’environnement est un facteur important dans le processus de développement d’une plante. Les L-systèmes présentés précédemment peuvent être considérés comme des systèmes fermés, ca-pables de contrôler leur développement sans communiquer avec l’environnement. Les L-systèmes sensibles à l’environnement ont été développés a…n de permettre la prise en compte de l’in‡uence des facteurs environnementaux locaux sur un modèle de plante en croissance [Prusinkiewicz et al., 1994, Mech, 1997]. L’idée développée dans cette approche est de fournir à chaque module sa position et son orientation pour pouvoir construire des productions en fonction de ces informations locales. Dans ce système, la chaîne générée est interprétée graphiquement par la tortue à chaque pas de dérivation. Les attributs de la tortue (position, orientation) trouvés pendant l’interprétation sont alors retournés comme paramètres de modules de requête prédé…nis dans la chaîne. Chaque pas de dérivation se déroule comme pour les L-systèmes paramétriques, excepté pour les valeurs des paramètres de modules de requête qui restent indé…nies. Pendant l’interprétation, le système assigne une valeur à ces modules en fonction de la position et l’orientation de la tortue dans l’espace. Syntaxiquement, les modules de requête sont de la forme ?X(x; y; z), où X=P; H; U

ou L. Suivant la valeur du symbole X, les valeurs des paramètres x, y et z représentent un vecteur de position ou d’orientation.

Exemple 25 Un exemple de L-système sensible à l’environnement [Prusinkiewicz et al., 1994] est donné ci-dessous.

! : A

p1 : A ! [+B][ B]F?P(x; y)A p2 : B ! F?P(x; y)@OB

p3 : ?P(x; y) : 4x2+ (y 10)2 >102

7.3. Interaction avec l’environnement Le moduleF représente un segment unitaire, et les modules + et sans paramètre repré-sentent une rotation gauche et droite de 60 . Le développement commence avec un module A, qui crée une séquence de branches opposées [+B][ B] séparées par des entre-nœuds F (pro-ductionp1). Les branches s’allongent par addition de segments F, délimités par des marqueurs

@0 (représentés par des sphères) (production p2). L’apex principal A et les apex latéraux B

créent des modules de requête ?P(x; y), qui retournent pour le prochain pas de dérivation les positions de la tortue correspondantes. Si un module de requête est placé au-delà de l’ellipse

4x2+ (y 10)2 = 102, la productionp3 crée une paire de "tentacules", représentée par la chaîne

[+(2y)F][ (2y)F]. Les angles 4y dépendent de la position verticale y du module de requête. La production p3 insère aussi le symbole Coupe %, qui termine la croissance de la branche en supprimant son apex. En résumé, ce L-système produit une structure rami…ée con…née dans une ellipse, avec des tentacules placées à la frontière de la structure.

Fig. 7-4 – Une structure rami…ée élaguée sous forme d’ellipse. Tiré de

[Prusinkiewicz et al., 1994].

7.3.2 Les L-systèmes ouverts

Si les L-systèmes sensibles à l’environnement permettent une communication de l’envi-ronnement vers le modèle de plante, les L-systèmes ouverts [Mech and Prusinkiewicz, 1996, Mech, 1997] permettent de modéliser une interaction bidirectionnelle entre la plante et son en-vironnement. Dans ce cas, la tache de modéliser l’environnement est con…ée à un programme externe (généralement écrit en C) qui communique alors avec le processus L-systèmes via un nouveau module de communication (échangé par …chier, pipe ou mémoire partagée). Le dévelop-pement est supposé être caractérisé par un scalaire ou un vecteur de scalaires. Les modules d’une plante en croissance peuvent demander à l’environnement de tester certaines de ces valeurs pour certaines positions spéci…ques. L’environnement pourra modi…er ces valeurs en fonction de la po-sition du module ou des valeurs de ces paramètres. Le modèle conceptuel derrière les L-systèmes ouvert est présenté dans la Figure 7-5.

La phase internal processing du modèle de plante correspond à un pas de dérivation. A chaque pas de dérivation, la chaîne est scannée et les modules de communication avec des infor-mations additionnelles optionnelles (e.g. la position et l’orientation de la tortue dans l’espace) sont envoyés à l’environnement. L’environnement reçoit les informations (reception), traite les

Fig.7-5 –Modèle conceptuel de l’intéraction entre la plante et son environnement [Mech, 1997].

données, et renvoie sa réponse au modèle de plante. La plante reçoit alors la réponse et est prête pour le prochain pas de dérivation. Cette boucle d’interaction continue tout au long de la simulation.

L’échange d’information entre la plante et son environnement est fait à travers les modules de communication ?E. Ces modules sont similaires aux symboles de requête des L-systèmes sensibles à l’environnement. La principale di¤érence étant que, lors de la génération des mo-dules de communication, les valeurs de leurs paramètres servent de données à l’environnement. Ces informations sont passées à l’environnement qui détermine alors sa réponse en donnant de nouvelles valeurs aux paramètres. Ces nouvelles valeurs sont alors renvoyées aux modules de communication et ensuite utilisées pour les prochains pas de dérivation.

Fig. 7-6 – Un exemple d’utilisation des L-systèmes ouverts. L’environnement est utilisé pour modéliser la compétition pour la lumière entre les di¤érents organes de deux plantes [Mech and Prusinkiewicz, 1996].

Le résultat d’un L-système ouvert où l’environnement gère l’illumination des organes est présenté dans la …gure 7-6. Dans cet exemple, les branches sont en compétition pour la lumière. Des groupes de feuilles font de l’ombre aux feuilles situées en dessous. Un apex dans l’ombre ne produit plus de nouvelles branches. Une branche existante qui ne reçoit plus de lumière meurt et tombe de l’arbre. De cette manière, la compétition pour la lumière contrôle la densité de branches et des feuilles dans la couronne des arbres.

en-7.4. Règles de décomposition et Homomorphisme