SimpLSystem: A Perfectly Comprehensib-L-System

I’ve made an L-system for Fabric Engine, called SimpLSystem. The project lives right now is on the Fabric Engine forums. The code is on my personal GitHub. The goal is for it to be a collaborative project in the Fabric Engine user community to explore variations and applications of L-Systems. As such, it’s not very far along and I’ve released it pretty early to allow it to be more community-driven. So if you like the intersection of these curious systems with high performance computation and node graphs, give it a shot!Several evolutions of an L system, each color is + 1.0 iterations.

L-systems, if you don’t know, are these neat things that take small strings and then make monstrously huge strings out of them by repeatedly replacing single characters with the other strings. Then the monstrously huge strings are interpreted into some kind of geometry by feeding them character by character into an imaginary flying turtle, who takes orders from these characters and leaves a trail of intricate, fractal-like structures. The turtle can also teleport (to a position previously visited location). Wikipedia may have a better explanation.

koch

The first few times I tried to use it, it happily filled up the memory on my computer and crashed it several times because I accidentally set the iterations one level too high. L-systems have a tendency to scale that way: instantaneous, instantaneous, instantaneous, slightly laggy, completely unresponsive and quickly making everything else on my system unresponsive as well, forcing a reset and wondering if I should do the Windows-didn’t-shut-down-properly hard drive checking thing. (I’ve since added a safety that keeps the string from growing above a certain size. It should be safe now.)

pythagorasTree

One thought on “SimpLSystem: A Perfectly Comprehensib-L-System

Leave a Reply

Your email address will not be published. Required fields are marked *