2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Эволюция фрактальных монстров
Сообщение07.06.2017, 15:33 
Аватара пользователя


19/08/13
14
Kiev
Продолжим фрактальную тему

Изображение

О фракталах в Интернете написано не мало, но и не так много, как хотелось бы. Более того, не смотря на то, что о фрактальных кривых известно еще с начала прошлого столетия (треугольник Серпинского - 1915, кривая Леви - 1906, кривая Гильберта - 1891, ...), фракталы до сих пор остаются одной из самых малоизученных областей науки. Именно науки в целом, а не конкретно математики. Исследуя фракталы, можно узнать очень много о нашей Вселенной, ведь Вселенная - это фрактал. В качестве разминки для ума, попробуйте поискать самоподобие в окружающей вас действительности. Несколько самых очевидных примеров:

Изображение

Изображение

Изображение

Изображение

Вот, кстати, еще один пример. Почка человека похожа на эмбрион.

Эмбрионы разных животных:

Изображение

...
Вообще, существует очень много способов (алгоритмов) построить фрактал. Об одном из таких алгоритмов впервые узнал в 2005 году. Простота этого алгоритма и, вместе с тем, разнообразие фракталов, которые можно нарисовать этим алгоритмом, сразу поразили мое воображение!

Рассмотрим этот алгоритм на примере кривой Леви.
Есть у нас две точки A1 и A2. Найдем такую точку A3, для которой угол A1 равен 45°, а угол A3 равен 90°.

Изображение

Проделаем ту же операцию для точек A1, A3 и A3, A2.

Изображение

Следующая итерация:

Изображение

Если продолжать эту операцию рекурсивно для каждой пары полученных точек, получим вот такую кривую:

Изображение

Можно попробовать чередовать углы: 45° и -45°. Вторая итерация:

Изображение

Третья:

Изображение

14:

Изображение

Получили другую известную фрактальную кривую — Дракон Хартера-Хейтуэя (придумана тремя умными дядьками из NASA).

Смотрите, как до неузнаваемости изменилась наша фрактальная кривая! В динамике (изменяем второй угол с шагом в 5°)

Изображение

Я, признаться, немного удивлен, почему до сих пор никто не попробовал использовать этот алгоритм с другими углами (Скажем, [30°,-60°]. Или [30°,-30°,-60°,60°]). Во всяком случае, в Интернете не получается найти ничего похожего на те фракталы, которые нарисовал в 2005 году.

Несколько рандомных фракталов (точки не соединял линиями из эстетических соображений) с углами -45°/45° (кликабельно):

ИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображение

С углами -30°/30°/-60°/60°:

ИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображение

С углами -15°/15°/-30°/30°/-45°/45°/-60°/60°/-75/75°:

ИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображениеИзображение

Этим алгоритмом можно нарисовать внушительное количество фракталов. Например, если использовать только 8 углов (положительных и отрицательных из диапазона: 15°/30°/45°/60°/75°) - можно нарисовать 50 000 000 фракталов (если не считать симметричные фракталы). Согласитесь, вручную просмотреть все фракталы не представляется возможным. Поэтому нам поможет генетический алгоритм.

Генетический алгоритм - штука тоже очень простая и, вместе с тем, эффективная. Запишем углы как гены. Например, фрактал, нарисованный 8 углами, содержит 8 генов в генотипе. Создаем начальную популяцию из небольшого числа фракталов - гены в генотипах заполняем случайным образом. Далее, выбираем (вручную, сравнивая случайные пары фракталов) те фракталы, которые нам больше всего нравятся и запускаем эволюционный механизм. Не выбранные фракталы "вымирают", из выбранных создаем новую "популяцию": разбиваем популяцию выбранных фракталов на пары и для каждой пары формируем двух потомков. Берем ген первого или второго родителя (случайно) и записываем на соответствующую позицию в генотипе первого потомка (ген не выбранного родителя уходим второму потомку). Так для всех генов в генотипе. Наглядно-схематически:
Изображение
Заполнили новую популяцию родителями и потомками. Теперь некоторый процент особей в новой популяции мутирует (берем случайный ген и заменяем случайным значением) - тем самым разбавляем генофонд.

Вот так это безобразие выглядит:
Изображение

Получаются очень интересные "особи":

Изображение
Изображение
Изображение
Изображение
Изображение
Изображение

Несколько "эмбрионов" на закуску:

Изображение

Подробное описание с исходниками: https://habrahabr.ru/post/328568/
Исходники: https://github.com/xcont/fractals


Вот тут можно поиграться с эволюцией "фрактальных монстров": http://fractal.xcont.com/

 Профиль  
                  
 
 Re: Эволюция фрактальных монстров
Сообщение07.06.2017, 21:22 
Аватара пользователя


29/01/17

228
А как такой замечательный фрактал программировать?
Изображение

 Профиль  
                  
 
 Re: Эволюция фрактальных монстров
Сообщение07.06.2017, 21:24 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
А где вы его нашли?
Навскидку предположу, что это сделано в Apophysis.

 Профиль  
                  
 
 Re: Эволюция фрактальных монстров
Сообщение08.06.2017, 08:21 
Аватара пользователя


29/01/17

228
Нашел давно в просторах инета. Жаль, что ссылку не записал. Вообще-то фракталы редко цепляют, как говорится, за душу. Приторные они чаще всего. Мне по душе больше картины художника-математика Томаса Бриггса. Но как созданы - для меня загадка. Вот пример картины этого художника:

Изображение

 Профиль  
                  
 
 Re: Эволюция фрактальных монстров
Сообщение08.06.2017, 10:19 
Аватара пользователя


19/08/13
14
Kiev
Если тебя не цепляют фракталы - значит ты не математик :facepalm:

 Профиль  
                  
 
 Re: Эволюция фрактальных монстров
Сообщение08.06.2017, 11:28 


05/06/17

87

(Оффтоп)

xcont в сообщении #1223269 писал(а):
Если тебя не цепляют фракталы - значит ты не математик :facepalm:

ленту Мёбиуса забыли, тоже должна цеплять.

 Профиль  
                  
 
 Re: Эволюция фрактальных монстров
Сообщение08.06.2017, 18:02 
Аватара пользователя


29/01/17

228
xcont, правильно так: если мало кого цепляет созданный тобой фрактал, значит, ты посредственный математик. Мысль эта относится к любому виду науки и искусства. Ведь, например, сколько стихов посредственных поэтов цепляет только авторов! Два рисунка, что я показал, привели в восторг многих-многих, в том числе и не математиков.
Отличный математик создает такой шедевр:
Изображение

Вот это действительно революционная эволюция.

 Профиль  
                  
 
 Re: Эволюция фрактальных монстров
Сообщение08.06.2017, 18:10 
Заслуженный участник
Аватара пользователя


23/07/05
17986
Москва
xcont в сообщении #1222964 писал(а):
Исследуя фракталы, можно узнать очень много о нашей Вселенной, ведь Вселенная - это фрактал.
Очевидно, что нет.

 Профиль  
                  
 
 Re: Эволюция фрактальных монстров
Сообщение08.06.2017, 20:50 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
kalin в сообщении #1223258 писал(а):
Мне по душе больше картины художника-математика Томаса Бриггса. Но как созданы - для меня загадка.
Посмотрел и другие. Старьё. Сейчас подобное тоннами делают, например, в Processing и в Тамблер c Бихэнсом каждую минуту выкладывают. Если хотите (и если не поленюсь), могу составить для вас список ссылок на всякий mathematical/algorithmic/generative art. В моём RSS-агрегаторе их целый мешок.
kalin в сообщении #1223389 писал(а):
если мало кого цепляет созданный тобой фрактал, значит, ты посредственный математик.
kalin в сообщении #1223389 писал(а):
Отличный математик создает такой шедевр
Это всё делают никак не математики. Для создания подобных вещей математику как таковую, как правило, нужно знать в минимальном объёме.

 Профиль  
                  
 
 Re: Эволюция фрактальных монстров
Сообщение08.06.2017, 22:31 
Аватара пользователя


29/01/17

228
Aritaborian, но почему-то из тонны картин обычно нравится только один миллиграмм. Это везде так. Не бывает каждую минуту танна эйлеров.

 Профиль  
                  
 
 Re: Эволюция фрактальных монстров
Сообщение11.10.2017, 15:29 


20/07/17

40
Наверно это уже не фракталы а параметрические L системы.
Отдельно ветки абстракций смотрятся как то разрозненно.
Хотя мне больше нравятся странные аттракторы наподобие icon.
Изображение
Самое простое усложнение это калейдоскоп копировать кусок текстуры и уже смотрится совсем по другому:
Изображение
Усложнение: можно взять любые кривые в 2д например (параметрические Безье 2 степени) по которым строить ломанные которые будут основой формы.
Вот например как тут сделать генератор:
http://www.cyberforum.ru/mathcad/thread ... ost6735492
Дальше итерации каждого отрезка как обычно. Ввести яркость (количество попаданий в пиксель это яркость).
Непонятна рекурсивная формула… похоже у нее куча избыточных (пустых) расчетов. Как насчет сделать итерациями т.е. так как нарисован алгоритм разбиения. Несколько массивов и функция считает новый массив от старого.
Array0={A,B}
Array1{A,C,B}=f(array0)
Array2{A,D,C,E,B}=f(array1)

Для 1 млн точек 2 мб массив? Вроде намного меньше пустых расчетов.

Интересно, можно ли как то смешать эти "фракталы" и странные аттракторы (например strange attractor icon http://www.fractalsciencekit.com/tutori ... ymicon.htm)?
Чтобы была гладкая основная форма и фрактальные края.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group