Mark Dow

Geek art

L-system programs and code

    Most of the images and documentation graphics in the Simple recursive systems and fractal patterns pages are produced with a single program, L_system_tiling, and a few with L_system_3D_tiling, written in Matlab.

L_system_tiling
L_system_3D_tiling


L_system_tiling

     These files as a group can be used to generate any variation of the L-systems and tilings. All files should be in a single directory.

L_system_tiling.m                           The main function that defines the L-system.  

interp1_fa.m                         Auxilliary interpolation programs.
interp2_fa.m

LS_rule_graphic_1.png        Auxilliary graphics images.
LS_rule_graphic_2.png

LS_rule_graphic_3.png
 

    Usage example:

At the Matlab prompt (>>),

>> L_system_tiling( 'TM', 4, 2, 1, 0, 'ColorDiagMotif.png', 0, [0 1; 1 0], [1 0; 0 1] );

results in these three images:
Example of L_system_tiling.m's output
The images are a graphic depiction of the L-system rules and algorithm (top-left), the resulting tiling (top-right), and a representation of the system at several generations (bottom).

    [To Do: Describe the range of options available.]

    [To Do: Short ellaboration on the code itself] L_system_tiling.m code is current up to March 23, 2008. Occasionally I will make changes to the code, while maintaining the arguement structure. Although the program is essentially as simple as the system it models, there are many auxilliary options and functionality that make the code less readable. The code is only partially commented.

[To Do: Condensed pseudo-code of the core code.]

L_system_3D_tiling

L_system_3D_tiling.m

[To Do: Brief explanation on the use of L_system_3D_tiling.m.]

[To Do: Condensed pseudo-code of the core code.]

[To Do: About and why Matlab?]

 

------------------
Terms for use: There are no restrictions on the use of this code, auxilliary code and other required resources. Claiming to be the originator, explicitly or implicitly, is bad karma. A link (if appropriate), a note to dow[at]uoregon.edu, and credit are appreciated but not required.


Comments are welcome (dow[at]uoregon.edu).