3D L-Systems Programming Project

I only had about 2 weeks to program this from start to finish, after having designed it in about the most complicated way I knew how: classDiagram

It came together in the last 30 hours (non-stop)! Here’s the interface when you start it – it’s modular so you can customise the positions of the controls and log, use multi-monitor setups etc. Currently it only works on Linux.

startup

The program lets an artist create 3D L-Systems – self-similar branching structures – using recursive Production Rules applied to an Axiom. There are a few characters that affect the shape – move forward, turn, branch off etc, and other characters become variables that you can define.Screenshot

The live update means any time you change anything in the contents box, the whole system will be updated. This can cause the program to hang if you try to put iterations at 50 for example, but means the artist has instant feedback and can quickly learn the effect of the character he is changing or adding. You can watch the growth of the system with a slider, which is real-time even for complex structures.

growing

Continue reading