What is L-arbor ?
First of all it is the implementation of my Master´s Thesis "Graphical specification of advanced differential Lindenmayer-systems". If you know the meaning of the words in this catchy title you can already guess what it is all about. If not, here´s an explanation:
(L-Systems) are formal grammars, consisting of a starting symbol (Axiom) a number of additional symbols and rules for derivation (replacement) of a string of symbols from another string of symbols. Some symbols have a geometrical interpretation (line, box, sphere, rotation, translation, etc.). According to the rules old symbols are continuously replaced by new ones. Surprisingly enough this mechanism allows for a good simulation of natural plant growth (where old cells die and are replaced by new ones).
: most L-System applications currently available assume time to consist of discrete events so that at a given point of time all symbols have either been replaced or have not changed at all- there is no continuity as can be observed in the real world. When used in animations this results in new plant parts suddenly appearing or disappearing. L-arbor instead can be used in a differential mode where arbitrary points of time can be selected and the size of plant parts is interpolated allowing for smooth animations.
: the flip side of the power that is inherent in L-Systems is their lack of an easily understandable notation. Rules use all kinds of syntactical sugar to implement the various features. This makes it even harder to comprehend the meaning of a standard L-System file. To counter this L-arbor introduces a graphical editor to quickly construct rules without having to enter a single line of code. This makes it easy for beginners to quickly achieve results. For advanced L-System designers it is of course possible to manually type in the rule and use all advanced features.
: This refers to advanced features not found in earlier implementations.
Definition of a bounding volume to allow plants to grow within a specific region. This makes it easy to create different topiary plants from a single specification.
For advanced modelling you can also specify Query Modules to retrieve information about the exact position / orientation of plant parts- use this for phototropism or to simulate environment factors such as humidity, soil quality, etc.
Since L-arbor internally uses a graph (DAG) to store the plant topology this prevents some ambiguities that can occur when character strings are used to represent context-sensitive replacements.
Some more technical details on L-arbor :
L-arbor runs under Windows 95 SP1, Windows 98, Windows ME, Windows NT4 SP3 or Windows 2000
Graphical presentation uses OpenGL. Thus a 3D accelerator card is highly recommended !
3D Primitives: Line, Box, Cylinder, Sphere, Torus, Cone, NURBS. Shaded and/or textured.
Level-of-Detail implementation: Choose between high qualitiy or high speed rendering
Data input using an ergonomic GUI
Graphics output as .BMP, .JPG, .PNG, .TIF or animated .AVI
3D data output as raw .PLG or Renderman (.RIB) file
Each symbol has built-in parameters (length, diameter, etc.) and 2 user-configurable ones