summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md26
1 files changed, 17 insertions, 9 deletions
diff --git a/README.md b/README.md
index c1d61bd..dfcf6ed 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,23 @@ L-Systems.JS
A full, 3D L-Systems implementation in JavaScript
+Usage
+-----
+
+```js
+var lsys = new LSystem('F', { 'F' : 'F-F+FF' });
+var tree = lsys.iterate(2);
+console.log(tree); // F-F+FF-F-F+FF+F-F+FFF-F+FF
+```
+
+Definition
+------
+
+An L-system is a formal grammar defined as an initial axiom string, and a set
+of production rules. In te aforementioned example, `F` is the initial axiom,
+and only one production rule exists: `F -> F-F+FF`. The grammar alphabet is
+assumed to be all characters with a production rule mapping.
+
Syntax
------
@@ -12,12 +29,3 @@ Syntax
- `<` / `>`: roll right / left by angle `alpha`
- `|`: reverse vector direction
- `[` / `]`: push / pop current tree state
-
-Usage
------
-
-```js
-var lsys = new LSystem('F', { 'F' : 'F-F+FF' });
-var tree = lsys.iterate(2);
-console.log(tree) // F-F+FF-F-F+FF+F-F+FFF-F+FF
-```