Я читаю главу в этом увлекательном book об использовании генетического программирования для интерактивного развития изображений. Большая часть набора функций состоит из простых арифметических и триггерных функций (которые действительно работают и возвращают изображения). Эти функции составляют внутренние узлы деревьев синтаксического разбора, которые кодируют наши изображения. Листья дерева или конечные значения являются случайными числами и координатами x, y.Генетическое программирование с набором Мандельброта
Там в разделе о добавлении итеративных функций комплексной плоскости множества функций:
Say генетика вставляет определенный набор Мандельброт как узел где-то в пышного дерева. Функция ожидает два аргумента: mandel (cReal, cImag), обрабатывающие как реальные и мнимые координаты в комплексной плоскости. Если только геном оказался источником координат пикселя (x, y), а mandel() был корневым узлом , вы получили бы знакомый Mset. Но есть вероятность, что cReal и cImag сами являются результатом целых ветвей функций, причем во многих случаях координаты x, y разбросаны среди листьев. Введите цикл итерации, орбиту , и, наконец, выйдите с некоторым расстоянием до аттрактора Mset , такого как количество итераций.
Мой вопрос, как бы вы сделать Мандельброт визуализатор как функция, которая принимает действительные и мнимые координаты точки на комплексной плоскости в качестве аргументов и возвращает рендер множество Мандельброта?