L系統
Lindenmayer 系統簡稱L系統是1968年由匈牙利生物學家林登麦伊尔(Lindenmayer)提出的有关生长发展中的细胞交互作用的数学模型,尤其被廣泛應用於植物生長過程的研究。
L-system或被称为Lindenmayer system是一个相似重写系统,是一系列不同形式的正规语法规则,多被用于植物生长过程建模,但是也被用于模拟各种生物体的形态。L-system也能用于生成自相似的分形,例如迭代函数系统。L-system首创于1968年,创始人是荷兰Utrecht大学的生物学和植物学家,匈牙利裔的Aristid Lindenmayer(1925-1989)。
目录 |
起源 [编辑]
作为一位生物学家,Lindenmayer工作的内容是酵母菌和丝状真菌,并研究多种类型的海藻的生长模式,例如蓝绿细菌“Anabaena catenula(淡水藻类的一种, 项圈藻)”.最初,L系统被设计成用于提供一种关于简单多细胞生物体生长的正规描述,并且试图证明植物细胞之间的紧密关系。不久以后,这个系统被扩展成描述高等植物及其复杂枝杈结构。
L-system 结构 [编辑]
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 A Java applet of 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
- Fractint home 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 and genetic algorithms to 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 the Canvas 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
- Inkscape a 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)
|
|||||||||||