Une Bévue a écrit :
je cherche à comprendre comment itérer un L-System, ayant compris
(crois-je) comment itérer quand il n'y a qu'un axiome et un "rule".
par exemple les systèmes suivants :
- 1 -
Axiome : A
B := AF+[-B]FF+F+FFF
A := B+B+B+B+AF+B
là, si j'ai bien compris, ça voudrait dire :
Iteration 1 :
remplacer A par B+B+B+B+AF+B
dans le résultat obtenu remplacer B par AF+[-B]FF+F+FFF
Oui tu as bien compris. D'ailleurs que produit F ?
mais alors j'ai un A donc la définition est circulaire ???
Mais tu peux même avoir de la récursion du style A:= B+A+B-A
- 2 - (même genre de difficulté)
Axiome : A
A := [F]+[F]+[F]+[F]+[F]+[F]
F := FF[A][A]
au cas où quelqu'un pourrait m'éclairer...
En fait, dans les L-Systèmes, ce qui arrête l'algorithme c'est le nombre de fois où on itère. Ce n'est pas tout à fait comme une grammaire formelle "à la Chomsky".
Les lettres peuvent représenter des actions (en général F indique d'avancer d'une unité, crayon baissé et f d'avancer d'une unité, crayon levé). D'autres lettres peuvent symboliser d'autres actions (comme associer une couleur à la ligne tracée).
La façon d'itérer peut aussi être différente.
Par exemple, pour tracer la courbe du dragon, le L-Système est le suivant :
Axiome : Fl
Fl := Fl+Fr+
Fr := Fl-Fr
A chaque itération on substitue, à la fois, les Fl et les Fr.
Référence : The Algorithmic Beauty of Plants de Przemyslaw Prusinkiewicz et Aristid Lindenmayer chez Springer-Verlag