L-SYSTEMS GENERATOR L-Systems Generator is 2D/3D modeling tool based on L-Systems and Cellular Automata. Originally written in Visual Basic for master thesis at PUCP, Lima, it has been developed in C# as tool for my university courses and as platform for research and experimentation with complex systems, fractals, natural forms, computational design, algorithmic architecture and music. The original application has been expanded with additional tools: L-SystemsADN, to edit, combine and generate new L-Systems using genetic metafors, and progL-Systems to transform L-Systems into a new programming language. A limited edition is downloadable for free. The complete C# edition is downloadable for 20 USD.
I NSTALLING Download GDesign.zip or LSystemGen.zip in driver C. Click unzip here option. A folder will be automathically created. HOW TO START Launch the application. You will be introduced in the display window. You can’t do anything yet, first you have to open the Grammar window and write a grammar. IN THE GRAMMAR WINDOW: 1) Write the axiom, you can use any valid symbol. V alid symbols are listed and explained in the dictionary palette. 2) Choose which type of LSystem do you want: standard, stochastic (random rules) or context. 3) Write rules for“a”or“b”symbols. Rules are applied from top to bottom. You can use just one rule if you want and copy the rule to all fields. 4) If you want, set up special symbols and RND functions“R”and“S”. 5) Set up M symbol, use it to set complex movements. 6) Set up special effects in the option window: optional angle, random angle, automatic variation of angles and dimensions. 7) Assign a object to symbols“a”and“b”. Special symbols “p”,“g”objects can be set in the Option window. 8) Click validate and launch to go to the display window, where the process will be calculated and rendered. 9) Set the Export option you want (POV Ray, 3DSMax) and file name. You can also in STL file format or as Rhino
The grammar window
The option window
IN THE DISPLAY WINDOW 1) Choose how many substitutions you want. If you pick 1, just the first rule will be applied, if you choose 7, all the rules will be applied. 2) Choose the size of the objects and subsystems using the slider 3) Choiose the value of the angle you want to use. Remember: rotation symbols are cumulative, if you write T++++a, T is Y axis rotation, + is clockwise rotation, set to 3 degrees, so the total rotation will be 3*4=12 degrees 4) Choose the Decay value. This parameter sets the
The display window
Functions are special rules that can be programmed and linked automatically. With these functions you can create objects and do tasks that are difficult or impossible with standard L-Systems substitutions. Functions and other special symbols provided by L-System Generator, transform the standard L-Systems substitution process into a sort of programming language.
Random programmable objects
FUNCTION “M” This function is used to set a rule to accomplish complex movements, or to align objects and subsystems.
FUNCTIONS“R, S, W” These are special rules to use and control random processes. Linked with symbols“R”,“S”and“W”. “R,S” generate a random string with n values and combinations of different symbols. You can set the maximum length of the string or activate the random length. Symbol“W”gets the same length produced by function“R”but with different symbols.
The Move palette
The Function palette
SUBSYSTEMS Subsystems are a special feature of LSystems Generator. Subsystems are subsystems nested other subsystems. With subsystems you can create complex symbols objects that can be individually parametrized and that can interact with other objects. Subsystems can be considered a sort of intelligent oobjects. Subsystems palettes
HOW TO SAVE AND LOAD SUBSYSTEMS Subsystems are l-Systems that you can create like any other L-System. (You can’t use rotations in the free version, just X,Y and Z movement). You can save the Subsystem using the save palette, to import a Subsystem choose one of the Subsystems symbols and link the file to it. Subsystems have independent parametrs, so you can use objects of different sizes inside the main L-System.
HOW TO PROGRAM SUBSYSTEMS WITH CONTEXT RULES In the Subsystem string you can insert special symbol “*”, this has no effect if used in a standard L_Systems, but when loaded as Subsystem allows to change the Subsystem from the main L-Systems, linking“*”rule to the anrecessor or successor of the Subsystem.
L_System with subsystems
Editing L-Systems genetic metaphors
By Umberto Roncoroni 2017ÂŠ L-Systems Generator