L-Systems with C++ and OpenGL
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…