in an L-system model as a turtle command. Examples of L-systems Example 1: Algae Lindenmayer's original L-system for modelling the growth of algae. variables : A B constants : none axiom : A rules : (A → AB), (B → A) which produces: n = 0 : A n = 1 : AB n = 2 : ABA n = 3 : ABAAB n = 4 : ABAABABA n = 5 : ABAABABAABAAB n = 6 : ABAABABAABAABABAABABA n = 7 : ABAABABAABAABABAABABAABAABABAABAAB Example 1: Algae, explained n=0: A start (axiom/initiator) / \ n=1: A B the initial single A spawned into AB by rule (A → AB), rule (B → A) couldn't be applied /| \ n=2: A B A former string AB with all rules applied, A spawned into AB again, former B turned into A / | | | \ n=3: A B A A B note all A's producing a copy of themselves in the first place, then a B, which turns ... / | | | \ | \ \ n=4: A B A A B A B A ... into an A one generation later, starting to spawn/repeat/recurse then The result is the sequence of Fibonacci words. If we count the length of each string, we obtain the famous Fibonacci sequence of numbers (skipping the first 1, due to our choice of axiom): 1 2 3 5 8 13 21 34 55 89 ... If we would like to not skip the first 1, we can use axiom B. That would place B node before the topmost node (A) of the graph above. For each string, if we count the k-th position from the left end of the string, the value is determined by whether a multiple of the golden ratio falls within the interval . The ratio of A to B likewise converges to the golden mean. This example yields the same result (in terms of the length of each string, not the sequence of As and Bs) if the rule (A → AB) is replaced with (A → BA), except that the strings are mirrored. This sequence is a locally catenative sequence because , where is the n-th generation. Example 2: Fractal (binary) tree variables : 0, 1 constants: “[”, “]” axiom : 0 rules : (1 → 11), (0 → 1[0]0) The shape is built by recursively feeding the axiom through