Л-систем илити Линденмајеров систем је формална граматика, најкоришћенија за моделирање раста биљака. Употребом Л-система̂ могу се добити веома реалистични прикази биљака применом веома једноставних правила. Уосталом, слика говори више од речи: ова „алга“ добијена је једноставним правилом F F +[ + F - F - F ] - [ - F + F + F ].
Шта му је ово F F + …? Једноставно: F исцртава линију одређене дужине у тренутном смеру (на почетку – право на горе); - окреће смер у ком ће се линије исцртавати за одређени број степени на десно; + исто то али на лево; док [ и ] памте тренутни смер и положај исцртавања (кад се исцрта све између заграда, исцртавање се наставља као да тога између није ни било). Кључно је да се ово правило примењује више пута тако што се на сваку линију која би иначе била исцртана примењује цело правило. Можда звучи мало компликовано, али ево појашњења на једном још једноставнијем правилу F [ + F ] F:
У првом кораку,
|
![]() |
| У другом кораку се све ово понавља, и то тако што се цело правило понавља за сваку линију која би била исцртана у првом правилу. | ![]() |
| У трећем кораку… | ![]() |
Кад сам их се пре неки дан подсетио, направио сам и једну имплементацију Л-система у јаваскрипту (пошто користи уметнути СВГ, не ради у Експлореру). Могуће је задати са̂м систем, дужину линије, угао закрета, и „дубину“, број поновних исцртавања (овде, пажња: све веће од 3 или 4 ће вероватно заглавити бровзер). Имплементација је сразмерно једноставна (сам ко̂д је наравно видљив у, јел, изворном коду стране), рекурзивно пролази кроз ниску правила и исцртава систем; међутим кад сам је завршио сетио сам се да је могло и много једноставније: више пута применити обичан нађи/замени унутар ниске и линеарно прећи коначну ниску исцртавајући… но, то би било варање
Осим ова два, ево још неких занимљивих Л-система:
- F+F–F+F, угао 60 (Кохова крива)
- F+F-F-F+F, угао 90 (такође Кохова крива)
- F+F-F-FF+F+F-F, угао 90 (Кохово острво)
- F[-FF]+[FFF]-FF[+F], угао 15
- F[-F]F[+F][F], угао 60
- F[-F][+F]F, угао 90 „табла“
а ако откријете још неки леп, приложите га у коментару.
Могуће је имати и много комплексније Л-системе: пре свега, оне који користе више од једне променљиве; затим, параметризоване, у којима се унутар правила наводе различити углови и различите дужине линија (као и дебљине, боје…); па „ослучајене“ у којима постоји више правила од којих се једно бира по случајном избору; тродимензионалне… О свему томе у неком од следећих бројева.



