на работе выдалась пара АБСОЛЮТНО свободных дней (что, по большому счету, мне не нравится - я, получается, бесполезно просиживаю там штаны), вспомнил, что называется, молодость и программирование в Турбо-Паскале, достал описание множества Мандельброта, наконец-то его правильно понял и стал экспериментировать. Параллельно (пока очередной сегмент рендерился) искал алгоритмы, создающие фракталоподобные структуры, нарвался на так называемые L-системы (системы Линденмайера) - всего-навсего грамматика для черепашки с ручкой, но при правильных входных параметрах результаты впечатляют

Под катом несколько картинок, выдранных скринсейвером ДОСБокса из написанных программ.
читать дальше

Множество Мандельброта как оно есть. В центре точка (0,0), градиент белого показывает, как долго данная точка уходила на бесконечность.

Оно же, на самом деле, выделен кусок с координатами (-0.52140635, -0.6731377). Заинтересовала вон та область странных веток. (В этой версии программы вместо синего использовался слабо-желтоватый цвет для обозначения точек, принадлежащих множеству)

Наезжаем...

И еще раз наезжаем. На горизонте структура из 20 веток... Прелюбопытно))))
С Мандельбротом пока всё, думаю переделывать визуализацию - мне не нравится, что всё становится чересчур белым.
L-системы обычно представляют собой древовидные структуры либо кривые усложняющейся формы. Самая. пожалуй, известная фрактальная кривая - кривая Коха - d виде L-cbcтем описывается одним правилом: F -> F+F--F+F, углом поворота в 60 градусов и аксиомой (началом) F. Грамматика L-систем есть в Интернете много где, основы следующие: F - рисовать вперёд, f (или G) - просто вперед ползти, + - поворот на угол, - - поворот на "минус угол", т.е. в обратную сторону, [ - сохранить состояние, ] - восстановить состояние (из стека). Дальше начинаются формообразующие навороты, вроде изменения угла поворота в середине выполнения, длины прорисованного отрезка итд.

Кривая "Дракон Хартера-Хейтуэя" 14-го, что ли, порядка. Утверждается, что 4 таких кривых бесконечного порядка покрывают всю действительную плоскость.

Эту веточку я сам придумал
Правила:
F -> FW
W -> F
X -> F[++X][--X]-FY
Y -> F[-Y][+Y]FX
Аксиома X, угол поворота 11 градусов. Эта ветка 8-го порядка. Сейчас зачем-то запустил прорисовку ветки 15го порядка, до сих пор думает)))
@настроение:
неопределенное
@темы:
Интересности,
Креатив,
Я