Java Lindenmayer Systems is a desktop program written to process Lindenmeyer Systems. It has been written entirely in Java. Thus, it should run on any operating system. The user interface allows multiple inner windows to compare different graphs to each other. It also allows saving of the graphs as JPG or PNG images.
Lindenmayer Systems are part of fractal math. In essence, they are interested in describing that the world is self-replicating. For example, a simplified tree can be described as the main log separating into 3 big branches. The big branches separate into 3 medium branches etc. Thus, repetition 3 branches, which each separate into three more branches and so force. Or, the growth of a bacteria population can be described as a young bateria maturing in stage 1. In stage 2, the mature bacteria splits into two young bacteria. Stage 3, has two young bacteria maturing.
The self-replicating behavior is described basically using string re-writing. It starts with an axiom, a series of letters. Then there is a set of rules, which describe a new letter (or multiple) that each letter in the original string should be replaced with. Repeating these translations (or permutations) in the end will build the structure of a big tree with hundreds of branches out of the simple starting rules.
The second aspect of Lindenmeyer systems are rules to render the strings graphically. They are based on turtle graphics.
For a proper introduction to Lindenmeyer systems, please refer to some of the available online resources.
I would like to have a nice self-installer. Unfortunately, I don't have a commercial installer package like InstallShield. The free solutions that I looked at, didn't seem to work for what I wanted, or outright didn't work.
So, here are the steps:
Information for Developers
The source code to the application is included. The application builds with ant. The build.xml file is in the root directory.
If you want to help, I'm looking for the following:
About the Author
My interest in Lindenmayer systems started in high school. I had heard the buzz about fractals. Not knowing, where to start, I ended up with a book on Lindenmeyer systems, and I was amazed with beauty of the drawings. So, I wrote my first implementation in C. The interest lay dormant, until my employer needed a prototype to test Java programming on Palm Pilots. So, I wrote an implementation using J2ME 0.2. It was very funny. The application crashed very quickly, because the strings used up all of the memory. Then this year, I had some free time, and decided to make my best implementation yet. And, I'm very happy with it. Grammar for 2D systems is almost complete. It's very pretty to have inner windows to compare the different graphs with each other.
You can contact me at firstname.lastname@example.org.