We will be learning how to code in python by implementing Lindenmayer systems.
According to Wikipedia:
An L-system or Lindenmayer system is a parallel rewriting system and a type of formal grammar. An L-system consists of an alphabet of symbols that can be used to make strings, a collection of production rules that expand each symbol into some larger string of symbols, an initial "axiom" string from which to begin construction, and a mechanism for translating the generated strings into geometric structures.
We will cover:
- Modules
- Classes
- Functions
- Object oriented programming
- Test driven development
In this repository you will find a file pen.py
, which I have included as a tool to help us draw images of the L-systems we generate (similar to the ones in the banner of this README).
You do not need to understand exactly how it works, but you will need to understand its interface. Think of it like driving a car: you don't need to understand how each part of the engine works, but you should understand which pedal moves the car and which one stops it!
Feel free to keep adding to this document, perhaps with your own observations or results from experiments :)