Выполнить систему Lindenmayer
Система Линденмайера (или L-система) связана с системами Thue и Post и используется в ботаническом моделировании и генерации фракталов .
L-система описывается перезаписью строк, где символ из символа-алфавита отображается в последовательности замены символов. Совокупность этих отображений составляет собственно L-систему.
Метод графического вывода, разработанный Prusinkiewicz, интерпретирует результирующую последовательность после применения отображений к исходной последовательности для заданного числа итераций , как команды рисования черепах: вперед, назад, влево, вправо и тому подобное. Это может потребовать дополнительного кода для управления масштабом чертежа, так как различные счетчики итераций могут создавать изображения разного размера.
Ваша задача - выполнить L-систему с наименьшим количеством символов. Ваша программа должна иметь возможность отображать как кривую Дракона, так и ветвящиеся стебли со страницы Википедии, предоставляя соответствующий ввод (файл, командная строка, но внешний по отношению к источнику, пожалуйста).
Это код гольф.
Изменить: Вот несколько примеров, которые я разместил в городе. ответ на SO / rotate-to-north { Где я впервые обнаружил L-систему } , ответ на SO / how-to-program-a-fractal , ответ на SO / recursion-in-postscript , обсуждение comp.lang.postscript / концерт , приписка коллекция л-система , codegolf.SE/draw-a-sierpinski-triangle {происхождение конкуренции между собой и thomasW} .