L-Systems with C++ and OpenGL

‘L-System Visualiser’

One of our first programming projects was ASD (Animation Software Development). I chose to do an L-System (L stands for Lindenmayer). The program was written in C++ and OpenGL with the NGL library and Qt for the GUI.

It’s current version allows for both deterministic and stochastic systems and both context-free and context-sensitive, (D0L,D1L,D2L,0L,1L,2L). I would like to further expand the project in the future when I have the opportunity. Some ideas for future work are, extending to Parametric and Time-based L-Systems; making it more robust and fixing a few small bugs here and there. I have an alpha version of manifold context driven joints, which would make the mesh much more efficient, plausible and even, in theory, manifold (if there are no self-intersections).

You can have a look at the program architecture in the report below. For creating the L-Systems a Extensible Factory Pattern is used. This is documented in the report and the UML diagrams.

This is the report for that project: L-System Visualiser Report

Soon I will be releasing the code for this project…


Tags: , , , , , ,

2 responses to “L-Systems with C++ and OpenGL”

  1. wu di says :

    Hello, any luck posting the code? I would be more than happy to know how this works. Thanks in advance.

    • grassovsky says :

      Hi, that was the original idea, however recently I’ve been quite busy and not able to do almost anything related to the site. Currently my priority here is getting the CMS code out in the open. Once I do that I will come to this project and see how it would be best to post the code, since it has some 3rd party stuff in it.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: