起源
作為一位生物學家,Lindenmayer工作的內容是酵母菌和絲狀真菌,並研究多種類型的海藻的生長模式,例如藍綠細菌項圈藻( Anabaena catenula,淡水藻類的一種)。最初,L系統被設計成用於提供一種關於簡單多細胞生物體生長的正規描述,並且試圖證明植物細胞之間的緊密關係。不久以後,這個系統被擴展成描述高等植物及其複雜枝杈結構。
結構
L-system的自然遞歸規則導致自相似性,也因此使得分形一類形式可以很容易的使用L-system描述。植物模型和自然界的有機結構生成,非常相似並很容易被定義,因此通過增加遞歸的層數,可以緩慢生長並逐漸變得更複雜。L-system同樣在製造人造生命領域。 L-system 語法與Chomsky語法非常相似,說到L-system通常指的是帶參數的L-system,定義如下:
G={V,S,ω,P},
V:變數符號集合
S:常量符號集合
ω:初始狀態串
P:產生式規則
自初始狀態開始疊代套入L-system的文法規則,和正規文法所產生的語言不同處在於,L-system在一次疊代中可同時套用許多不同的文法規則。如果在一次疊代中只能夠套用一個文法規則,產生出來的結果被稱為語言而不是L-system。由此可知,L-system為正規文法所產生出的語言的子集合。
開放問題
許多涉及L-systems研究的問題有待解決,比如:
•描述所有那些確定的局部連鎖的上下文無關L-systems(目前已知完成解決的只有包含兩個變數的這一種情況)。
•給定一個結構,找出生成此結構的L-systems文法。
參見
維基共享資源中相關的多媒體資源:L系統 |
•分形
•疊代函式系統
•希爾伯特曲線
外部連結
•David J. Wright's article on L-systems
•Algorithmic Botany at the University of Calgary
•Branching: L-system Tree AJava appletof the botanical tree growth simulation using the L-system.
•Fractint L-System True Fractals
•"An introduction to Lindenmayer systems", by Gabriela Ochoa。Brief description of L-systems and how the strings they generate can be interpreted by computer.
•"powerPlant" an open-source landscape modelling software
•Fractinthome page
•L-Systems in Architecture
•A simple L-systems generator (Windows)
•Lyndyhop: another simple L-systems generator (Windows & Mac)
•An evolutionary L-systems generator (anyos*)
•"LsystemComposition". Page at Pawfal ("poor artists working for a living") about using L-systems andgenetic algorithmsto generate music.
•eXtended L-Systems (XL), Relational Growth Grammars, and open-source software platform GroIMP.
•A JAVA applet with many fractal figures generated by L-systems.
•Another L-system applet, supporting programming, with explanation and examples.
•L-systems in Architecture; genetic housing.
•L-systems in Plant Growth,Simulation and Visualization (PlantVR).
•Musical L-systems: Theory and applications about using L-systems to generate musical structures, from waveforms to macro-forms.
•L-system digital sound synthesis: 'Do Digital Monkeys Inhabit Virtual Trees?' Electronic music piece composed with L-systems.
•LSys/JS- Interactive L-System interpreter using theCanvas HTML element。
•Lindenmayer System for plant visualisation (Java Applet)。
•Fractal Grower: Free Java paper folding L-System intended for elementary and middle school students.
•Programmatic animations in actionscript showing various L-systems.
•Java applet showing random L-Systems while driving down Lindenmayer Boulevard
•Magic Garden - Artificial Plants Laboratory- free plants generator using L-Systems
•Inkscapea free software vector graphics program which implements, among its plugins, an L-system generator
•Garabatos,an interactive evolutionary image generator based in L-Systems
•Online experiments with L-Systems using JSXGraph (JavaScript)