Как вырастить "дерево" (L-System fractals)

"Черепаха" в аплете CLSFractal.java понимает следующие команды:
F - шаг вперед с рисованием линии,
f - шаг без линии (прыжок),
[ - запомнить позицию,
] - вернуться в запомненную позицию,
+ - поворот по часовой стрелке,
- - поворот против часовой стрелке на rotangle
Напоминаю, что LSFractal использует несколько нестандартную запись правил подстановки - Rules)

L-System фрактал начинается со строки-аксиомы (например):
axiom: F
далее в ней делается замена подстроки pred на строку succ. Например по правилам:
pred=F
succ=F[-FF]F[+FF]F

правил может быть несколько (см. Dragon curve). Процесс повторяется level=N раз. После чего по полученной строке нужно пустить "черепаху".
Объясняю еще подробнее.
Вот что получится через несколько шагов (rotangle=25o):

А это полный HTML текст (указаны цвета по умолчанию, их можно не указывать в апплете из экономии):

<HTML>
<applet code="CLSFractal.class" width=250 height=250>
<param name=level value="4">
<param name=axiom value="F">
<param name=pred1 value="F">
<param name=succ1 value="F[-FF]F[+FF]F">
<param name=rotangle value="25">
<param name=rColor value="0">
<param name=gColor value="0">
<param name=bColor value="0">
<param name=rBGColor value="255">
<param name=gBGColor value="255">
<param name=bBGColor value="255">
<param name=startangle value="-45">
<param name=delay value="0">
<param name=normalizescale value="true">
<param name=incremental value="false">
<param name=border value="2">
</applet>
</HTML>

И вот что получится через 4 шага

Сначала постройте дерево с помощью "большого" Java апплета (36кб) LSystems (копия.ru), которым легко управлять.

Перепишите себе на компьютер классы Jim Graham's L-System апплета. В этом же месте создайте свою страничку с апплетом.

Если все работает, задайте свои параметры.

Можете прислать ваше дерево мне.


L-System fractals   updated 24 May 1999