Boundaries of Dragons

iteration level:
Align: Layout: many/few: more options:

Example space filling curve L-systems:

L-system for boundary


This is to demonstrate the boundary producing algorithm which I've written up here
This is based on the space filling folding curves, with methods developed by Dekking and Arndt and Handl, who's notation this follows for the L-system of the space filling curve. See (Dekking) and (Arndt and Handl)

My contribution is the boundary curve algorithm.

This program assumes that the input is a space filling square based folding curve, and does not check whether the input satisfies this. The input can either be the preset choices, or you can enter your own in the text field. The input gives the value of the image of A under the L-system. Since these are assumed folding curves, this determines the image of B. Since A and B alternate, with + or - between, you only need to enter A or B as the first element of this string, then + or - as the remaining elements. If you enter anything else it will be ignored. You can also use keys z and x to change curve.

This is an svg version. My other space filling curve programs are mostly webgl based. The algorithms differ in that the svg algorithm produces the instructions for the whole curve, in a turtle geometry kind of way. The webgl program doesn't compute global paths, and works locally, so the instructions for a complete path are never needed. Webgl is potentially faster and more flexible, but svg is interesting in that the path can be given in a vector type format.

Note: for a more continuous transformation, choose the Align option, which rotates and scales to fix end points of successive iterations of the curve, so convergence can be entertained.

Warning: may be slow for N=4 and long value of initial L-system. Choose "few units" for less lag. Also: only tested on Chrome on a Mac. Click the layout to change between layout more appropriate to landscape or portrait format.

This is related to sequences A296148 and A343990 amongst others.

Helena Verrill

Warwick University