About
In the interest of creating multi-image desktop wallpapers, I wrote some code to build and render L-systems.
Images




Implementation
The code is written in Python, using PySFML2
for graphics. The core functionality is in L_system.py, with
graphics provided by L_app.py and L_shape.py.
The first important function is
build_string, which recursively generates a system string from a starting string
and rule set. It returns a generator to avoid
building the entire string in memory
The second important function is build_shape, which renders
a string into a set of (x, y) coordinates tuples based on drawing rules.
The GUI can be invoked with the command L_app.py system, where system is
an L-system definition. Included are definitions for the shapes shown above, named
hilbert.py, sierpinski.py, terdragon.py, and dragon.py.
While the application is running, the up and down arrows change iteration depth. Escape or command+Q exits the program.
Download
L-System (zip file, 8 KB)