Генераторы фракталов с открытым исходным кодом
12 июля 2011
Вопреки распространенному мнению, фракталы — это не только красивые картинки. Фракталы используются в математическом моделировании, голливудских спец-эффектах, алгоритмах сжатия и много где еще. Далее по тексту вы найдете описание нескольких программ-генераторов фракталов с открытым исходным кодом. Их можно использовать как в учебных целях, так и для убивания времени или генерации красивых обоев. Бесспорно, это очень полезный софт!
1. Обозреватель фракталов XaoS
XaoS — довольно приятный и простой в использовании генератор фракталов. Вот как он выглядит:
С помощью меню можно настраивать свойства фрактала и накладывать фильтры. Особенно впечатляет фильтр «Pseudo 3D». Приблизить интересующую область фрактала можно левой кнопкой мышки, отдалить — правой кнопкой. Если вам просто хочется полюбоваться на красивые картинки, есть функция «Load random example». Любой понравившийся фрактал можно сохранить в PNG.
«Обозревателем» эту программу я обозвал за наличие функции «автопилот». При ее включении программа начинает самостоятельно «бродить» по фракталу, приближая и удаляя случайные области.
Скачать XaoS можно на http://wmi.math.u-szeged.hu/xaos/doku.php. Доступны версии для Windows, Linux, FreeBSD и MacOS. Как и у всех остальных программ из этого обзора.
2. Программа для фрактал-арта Fractorama
Fractorama — мощнейший инструмент для рисования фракталов. Интерфейс программы поделен на две части — текстовый редактор и место для отрисовки фрактала. Чтобы получить картинку, нужно написать небольшую программу на языке, напоминающем PHP или Perl.
Определенно, эта программа разрабатывалась не для новичков. Скачать Fractorama, ознакомиться с описанием языка и посмотреть галерею фрактал-арта можно на http://fractorama.com/.
3. Fraqtive — генератор множества Мандельброта
Эта программа умеет рисовать только множество Мандельброта, зато делает это чертовски хорошо. Кажется, по числу настроек Fraqtive бьет все рекорды.
С помощью функции «3D View» фрактал можно вращать в трех измерениях. Очень понравилась функция «Generate Image». Она позволяет создать png-изображение фрактала в высоком разрешении. С ее помощью я существенно пополнил свою коллекцию обоев на рабочий стол.
Скачать Fraqtive можно на http://fraqtive.mimec.org/.
4. Генератор четырехмерных фракталов Gnofract 4D
Gnofract 4D заслуживает внимания за счет двух интересных функций. Во-первых, программа позволяет быстро закачивать сгенерированные изображения на Flickr. Во-вторых, Gnofract 4D работает с четырехмерными фракталами.
Я не сильно подкован в вопросе того, как происходит проектирование четырехмерного фрактала на двумерный экран. Но внешне вращение фрактала вокруг оси w (см скриншот) напоминает наматывание плоского изображения фрактала на цилиндр. В общем, это лучше один раз увидеть. Также Gnofract 4D умеет сохранять хайрезы.
Офсайт — http://gnofract4d.sourceforge.net/.
5. Visprint, генератор фрактальных «отпечатков пальцев»
В отличие от предыдущих программ Visprint является консольным приложением и рисует IFS фракталы. При этом он не просто их рисует, а рисует со смыслом.
На вход программа получает md5/sha1/sha256/sha512 хэш некоторого файла. На выходе создается картинка, соответствующая хэшу. Идея в том, чтобы сравнивать контрольные суммы файлов путем просмотра картинок, а не строки символов. Картинки воспринимаются быстрее и выглядят красивее.
Неизвестно, насколько сложно подделать такие «отпечатки пальцев», но идея интересная. Офсайт — http://www.tastyrabbit.net/visprint/.
6. Прочие генераторы
Некоторые найденные мной генераторы фракталов не вошли в этот обзор. Например, xmountains и landscape представляют собой генераторы ландшафтов, в связи с чем представляют малый интерес. Xfractint, ffff, lsysexp и quat-qui просто показались мне неудобными. В kisomandel, поставленном из пакеджей FreeBSD, был какой-то глюк с прорисовкой. Однако вы можете считать самостоятельное изучение этих программ своим домашним заданием.
Если вы ищите дополнительную информацию по фракталам, советую заглянуть на Хабрахабр — там довольно таки много интересных материалов по данной теме. Ну и на Википедии, разумеется, кое-что есть. Как обычно, любые комментарии и вопросы приветствуются.
Метки: Всячина.
Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.