Chapitre I INTRODUCTION
Les systèmes de Lindenmayer ou L-systèmes sont une grammaire générative inventée par le biologiste Lindenmayer en 1968.Un chemin est généré en appliquant des règles sur un axiome sur plusieurs itérations.
Voici les règles de grammaires pour générer des fractals:
- A,B,C,D,E,F dessiner d'un pas en avant.
- G,H,I,J,K,L avancer d'un pas en avant.
- + tourner à gauche.
- - tourner à droite.
- [ enregistrer le point.
- ] retourner au point enregistrer.
Exemple
A droite , on peut voir la création d'un pavage de Penrose de type 3, composé de deux types de losanges:
des losanges "gros" et des losanges "fins". Le pavage est réalisé à partir de 4 itérations. On peut constater qu'à chaque itération, le chemin par des losanges déjà présent pour constituer un agrandissement suivant la règle de grammaire.
Voici la grammaire du pavage P3 est la suivante:
Voici la grammaire du pavage P3 est la suivante:
- Axiome (le tracé de départ):[X]++[X]++[X]++[X]++[X]
- La règle (la transformation à appliquer à chaque élément du motif):
- W = YF++ZF----XF[-YF----WF]++
- X = +YF--ZF[---WF--XF]+
- Y = -WF++XF[+++YF++ZF]-
- Z = --YF++++WF[+ZF++++XF]--XF
- L'angle: 36°
- Le nombre d'itérations n=4
CHAPITRE II Inkscape et les L-sytèmes
Inkscape dispose d'une fonctionnalité pour tracer des fractals en se basant sur la grammaire de Lindenmayer. En dehors de l'aspect esthétique ou ludique, ceux-ci peuvent s'avérer notamment utile pour produire rapidement et avec précision des trames au motifs géométriques variés.Vidéo
Si vous souhaitez découvrir comment utiliser Inkscape pour générer des fractals, voici en lien une vidéo didactique: vidéoExemples
Voici,quelques L-Système connus avec les codes pour Inkscape.CHAPITRE III Netlogo et les L-sytèmes
Netlogo dispose d'un simulateur de fractals. Ci-contre se trouve l'image de l'interface avec des triangles de Sierpinski.
Vous pouvez générer votre propre fracal en écrivant sa grammaire dans le code du programme (voir plus loin).
Une fois le code écrit, cliquez sur "setup" puis "go once" pour effectuer une itération.
La touche "Go" génère des itérations jusqu'à ce que le bouton soit resélectionné. Soyez prudent, cela peut rapidement provoquer des ralentissements.
Les curseurs init_x et init_y permettent de changer la position de départ du tracé du fractal.
Les touches du bas tel que "Swirl", "Ball", ... propose des exemples de fractals
Une fois le code écrit, cliquez sur "setup" puis "go once" pour effectuer une itération.
La touche "Go" génère des itérations jusqu'à ce que le bouton soit resélectionné. Soyez prudent, cela peut rapidement provoquer des ralentissements.
Les curseurs init_x et init_y permettent de changer la position de départ du tracé du fractal.
Les touches du bas tel que "Swirl", "Ball", ... propose des exemples de fractals
Coder un fractal avec la grammaire de Lindenmayer sur netlogo
La grammaire proposée pour les L-systèmes sur Netlogo est légèrement altérée, voici les termes à utiliser:- "rt nbre" tourne la tortue à droite du nombre de degrés indiqués
- "lt nbre" tourne la tortue à gauche du nombre de degrés indiqués
- "fd nbre" la tortue avance du nombre de pas indiqués et trace une ligne
- "skip nbre" la tortue avance du nombre de pas indiqué sans effectuer de tracé
- "spawn" duplique la tortue
Exemple
Voici un exemple de lignes de code permettant de générer les triangles de Sierpinski. Pour modifier le code et essayer d'autres fractals, il suffit de sélectionner l'onglet "code" sur l'interface Netlogo.Accéder au programme Netlogo
- Soit, vous pouvez sélectionner le lien suivant qui ouvrira une page html contenant le générateur de fractals sous netlogo: L-système.html
- Soit, vous pouvez télécharger le fichier .nlogo ici: l-system_fractals.nlogo Puis, l'ouvrir avec le programme netlogo.