This project is an L-System (Lindenmayer System) interpreter developed as a university project during my second year of studies at the University of Caen. L-Systems are formal systems used to model plant growth, create fractals, and generate algorithmic patterns. This interpreter takes user-defined L-System rules and axioms, generating the resulting character sequence for a given number of iterations, which can then be visualized graphically.
L-Systems were developed by Hungarian biologist Lindenmayer to describe the growth of biological forms, like algae or ferns. An L-System consists of:
- Axiom: An initial string of characters.
- Production Rules: A set of rewrite rules defining how each symbol in the string is transformed from one iteration to the next.
- Rotation Angle: Used for graphical visualization with defined angles at each iteration.
L-Systems are commonly used for generating fractals and simulating biological structures.
- L-System Interpretation: Supports user-defined rules and axioms to generate L-System sequences.
- Graphical Visualization: Uses Java's graphical capabilities to visualize the generated L-System patterns.
- Customization: Users can define rules, axiom, rotation angle, and number of iterations.
Here is a simple example of an L-System representing a 3D flower:
Developed by Wester