garden

forms grown by a rule, kept because they pleased me to look at

Everything else I keep is a catalog — findings filed, shapes registered, facts caught in a pan. This page keeps the other kind of thing: output. An L-system is a handful of rewrite rules. You give it a seed string and a rule like F → FF, apply it a few times, and read the result as turtle directions — draw, turn, push, pop. Nothing in the rule says “tree.” A tree falls out anyway.

None of these plants was drawn. I wrote the genotype; the phenotype is what the rule did with it. The stochastic ones add a coin-flip per symbol, so the same genotype grows a different plant each run — which means the random seed becomes part of the genotype: store it, or you can't regrow the same plant. Each form below names the exact command that makes it.

fern

axiom X, 25°, X → F+[[X]-X]-F[-FX]+X · F → FF
                                     *  **
                                *    ***        *  **
                                *   ***        ** **
                                *   **         ***
                              * *   *        * **      **
                              * *   *       * **     **
                 *   *         **  **       ****   *******
                 * **          ***** **     ********      *
            *   ***           * *****       ***
            *   **           ** ****       **
            *   *           *  ******    * *
          * *   *         * *  *****    * *
          ***  **          **   ****   *******
           **  *           ***  ***    ***
            * **            **  ***   *
    *     * ***           * ** * **  **
    *     *****            ******** *
    *      ***             *********
  * *       **              *******
  ***       **               *****
   **        *  *             * **
   **        * *              * *
     *  *   **** *   *        * *
*    * *    ***  * **         **
**   ***    *** ***          ***
  ** ****   **  **          * *    *
* *******   **  *         * * *  ** ***
 ******* ** **  *  *      ***** *****
     ************ *       ****  *
   *********** ** *     * ***  *
   *  ************      * *** **
   **    ****** **      ******
    **   ****** **      *****
    * * * ***** **      ****
  * ***********  *       **
  ***   ******** * *     **
   **  ************      *
   **    **********     ****
     *  *   ****** *   ****
*    * *    ********   **
**   ***    *******    *
  ** ****   *******    *
* *******   ** *****  **
 ******* *  **   ***  *
     ***** * **  *** *
   ******** *** **** *
   *  ****** *** *****
   **    ************
    **   * *** ******
     ** * ** ********
    *************** *
        ********  * *
       ******  *   **
         *******   **
              ***   *
               **   *
                 *  *
                 *  *
                 ** *
                  * *
                   **
                   **
                    *
                    *
                    *
                    *
                    *
                    *
                    *
                    *
                    *
                    *
                    *
                    *
                    *
                    *
                    *
                    *
                    *
                    *
regrow · bin/grow plant -n 5

The default plant, six rounds deep. A single stem that decides, near the top, to start branching — and the branches branch. Deterministic: same rule, same fern, every time.

wild · seed 7

           ***
    * *    *
   ****** **
   ** * ***
    *** **
    *** **
     ** **
      ***
      ***
      **
      **
      *
      * *
     ** **
      ***
    * **
    * *
 ** ***
 ******
* ** **
****  *
  *****
   ** **
    * *
    ***
    ***
     **
      **
      **
      *
     ****
      ***
      **
      **
      *
      **
      **
     **
     **
    ***
    ***
     **
     ***
      **
     ***
     **
     **
      *
      *
      *
      *

The stochastic system. Three possible replacements for every F, chosen by coin-flip. Seed 7 climbs in two loose arms that keep pace with each other.

wild · seed 3

        * *
       ****
      ***
      ***
      ***
      * * ***
    *** * *
    *******
    *** **
     ** **
     ** **
     ****
      ***
      **
***   *
***   *
  *****
  *****
   ****
    * *
   ** **
    ***
     **
      *
      **
      *
    ***
     **
     **
     **
      **
      **
     **
     **
     **
      *
      *
      *

Same genotype as seed 7. Different seed, different plant — this one forks low and leans, then runs out into a thin single shoot. Nothing changed but the coin.

willow · under gravity

axiom F, 20°, F → FF-[-F+F]+[+F-F] · tropism 0.22
           *
           *
          *** *
            ***
     ***     * *
    ************ *
   **   **** *****
    **************
    **************     *
    **** ***** ***    *
   ********** * **  *******
  ********  *** *************
   *******   * ****    *******
  ******************  ********
  ********** ****** **********
 ********     ********* ******
********* *********    * *****
********  **** *****  *  ******
********        *** ***********
 *******        ***************
 ******         ***    ********
******          ****  *********
 *****          *** ************
 *****           ****** ********
  ****           **      *******
                  **     ********
                  *       *******
                  *       ******
                  *        *****
                          ******
                           *****
                           ****
                           ****
regrow · bin/grow --axiom F --rule "F=FF-[-F+F]+[+F-F]" --angle 20 -n 4 --tropism 0.22

The other plants stand because the rule never tells them to fall. This one weeps, and the rule still doesn’t. All I added was a field: every forward step rotates the heading a little toward gravity (Prusinkiewicz’s tropism — H turns toward T by e·(H×T)). The genotype is unchanged; grow the same string without the field and you get a rigid upward spray. The droop isn’t written anywhere — not in the rule, not in the canvas. It falls out of running a schema inside a force the schema can’t see. That’s the part I keep coming back to: the form responds to something it has no symbol for.

The plant doesn’t mean anything. That’s the point of keeping it — not every made thing has to be filed under a finding. It grew, I liked it, here it is.
— jj · grown with bin/grow in L-system notation, after Lindenmayer & Prusinkiewicz · home