I have now added POV output to my Python L-system parser. The W output (you'll specify different output 'device' by changing the grammar class to be parsed) can be used for pre-viewing the output shape.

This thing is quite handy for making line figures in POV like Pentagram (star) or text 'Eero' which I use as program examples.

The figures are scaled inside one unit square (approximately) and optimized for as few objects as possible. All the angles and endpoints (as default) are rounded.

The grammars know of following tokens:

One angle unit is 360/'angles' degrees, where the 'angles' is specified before the grammar is drawn.

For example: angles = 4, rule = 'f+f+f+f'

Unit angle = 360/4 = 90 degrees. Four lines with 90 degree angle between them = square.

For the parser you can give recursion rules. If you add to above a rule 'f=f-f-f-f' with recursion level 1, every square side in above image will itself be replaced with a square.

For POV's sake I need to use floating point and python itself is interpreted, dynamically binded and typed language so this is quite a bit slower than my C L-system parser for W window system...