avatar

Математика-художница, или Фрактальная Графика

Фрактальная графика — самоповторяющиеся изображения, выполненные с помощью вычислений. Для постороения фрактала задаётся специфическая функция, график которой мы и принимаем за изображение.

База знаний

Всего существует три вида компьютерной графики (основных): растровая, векторная и фрактальная.

Чаще всего мы имеем дело с растровой — это фотографии, отсканированные книги, рисунки и много другое. Растровую картинку нельзя растягивать: она записана как соседство пикселей определённого цвета. При увеличении используются технологии, обеспечивающие сглаживание — автоматически дорисовывают отсутствующие точки, поэтому новое изображение «замылено» или, наоборот, обладает неприятными, рваными контурами. В память заносится информация о каждом пикселе, поэтому изображения весят много.

 Векторная графика встречается нам на логотипах, эмблемах и прочих элементах, требующих хорошего качества при разных размерах. Векторная графика, как ясно из названия, использует вектора, у которых задаются концы. При увеличении — вектор умножается на константу. Это чисто математическое исчисление. Векторные изображения тонируются при помощи градиентов или определённого цвета (каждый фрагмент внутри границ-векторов).  Подобные картинки займут меньше памяти, чем растровые, потому что в память заносится информация о концах векторов и номера цветов. Векторами рисуют, например, в SAI или в AdobePhotoshop, GIMP.

Что такое фрактальная графика, было дано в эпиграфе  статьи. Фрактальные изображения маловесны — в память заносится описание класса изображения, а не каждый «новый виток». К слову, витки эти задаются алгоритмами, учитывая прошлое значение переменных, поэтому чаще всего построение идёт от большого к малому, например, как в цветках из слайдшоу. Естественно, что увеличивать изображение можно до бесконечности, не теряя качество.  Для построения фрактала понадобится Art Dabbler, Apophysis или любой другой редактор, существуют и специальные плагины для Photoshop. Кстати, Apophysis распространяется свободно (нажмите сюда, чтобы скачать), а при желании можно изучить его исходный код на Delphi. Программа не требует установки.

Любопытно, что фрактал — одно из ключевых понятий математической Теории Хаоса,  содержащую в себе такие забавные, на первый взгляд, понятия, как «подкова Смейла» или «седло», а на деле — являющаяся геометрией. Хаос вездесущ: всякое движение происходит по определённым законам, выражаемым сложными формулами, но всё же — выражаемыми. Грубо говоря, молекула воды в канаве движется вниз, к водостоку, рисуя фрактал.

Сделаем фрактал сами

Создадим свой собственный рисунок.  Апофизис оказался дружелюбным и простым в использовании. Скриншот 2014-05-10 22.16.38 Основные настройки умещаются в три компактных окошка (слева направо): «Отображение», «Построение», «Главное».  В первом можно на свой вкус настроить камеру — приближение, положение по х и у.  Здесь же настраивается цветовая гамма. Во втором — непосредственно размещение  плоскостей, заданных тремя вершинами. Третье окно позволяет сохранить flame и параметры, посмотреть открытые проекты и т.д.

Скриншот 2014-05-10 22.14.13  Первый фрактал был сохранён при помощи PrintScreen. Второй созданный фрактал представлял из себя вариацию на тему спиралей. Данные перекочевали в фотошоп, для соединения и оформления, точной работы со цветом. Следовало бы обойтись исключительно Apophysis, однако привычки трудно пересилить.

С помощью наложения слоёв и инструмента «Варианты» получим основную гамму для новой работы. Мне понравился красный оттенок, эдакая яркая фантазия. Затем уменьшим шум (слегка размоем, новый слой оставим с параметрами «перекрытие» и с прозрачностью  не более 30%). Стало напоминать дым, идущий от диска. Оставшиеся действия смягчили разрыв с фоном, изображение было обрезано. Предлагаю посмотреть на таймлинию:

psprogress

Результат:

«OVER THE CUP OF HOT COFFEE»

2

Онлайн-сервисы и интересные сайты

Лёгкий в использовании сервис — это Flame Painter, бесплатно доступный в нескольких вариациях, стабильно работающих во всех браузерах. Это:

  • Рисование огня
  • Fields — полноценный инструмент для создания красивых фракталов. Требует JavaPlatform-плагин.

Мир Фракталов — мой любимый сайт, где описаны различные фракталы, даны исходники на С++ или Java.

Много статей о фракталах легко найти в том числе и на Хабрахабре.

Фрактальный склад на Хабре

Статья на отвлечённую тему плавно перетекла под мою юрисдикцию — в блок, посвящённый популярному Интернет-сообществу.  Во введении (здесь) четвёртым пунктом обозначен поиск статей, полезных для школьников. Чем фрактал хуже?

Не всякая хабровская статья подходит для прочтения школьнику или даже студенту. Если не вдаваться в Теорию Хаоса, то найти на сайте познавательный материал возможно. Для поиска используется единственный инструмент — поле и кнопка с лупой в верхнем правом углу главной страницы.

Из списка лишь одна статья была из «Песочницы». Значит, мы можем развить тему, если захотим получить полный аккаунт и если нас не пугают сложные термины. Во многих из найденных текстов фрактал был метафорой, означающей бесконечное уменьшение/ухудшение.

Об узоре волн. Автор смотрел на воду в речке и решил узнать, беспорядочны ли блики на рёбрах отходящих волн или имеют систему. Занимательно для разных возрастов: младшие могут смотреть иллюстративный материал, старшие — обдумать формулу. Легко повторить на тетрадном листе.

Кроме полезной статьи, следует обратить внимание на комментарии.

Волшебными красками математики по холсту воображения… (с) de_bill

Пожалуй, точное и поэтичное описание фракталов. Следующий комментарий, заслуживающий внимания:

Фракталы — очень интересная и красивая тема. И, насколько я знаю, до сих пор еще основательно не изучена. В институте был у нас такой предмет, но поверхностно. Нравился мне. Фрактальные антенны и средства фильтрации сигналов на их основе изучали. Препод еще рассказывал, что фрактальная тематика в оборонке изучается активно, в основном как средство маскировки, потому как все природное имеет в основном фрактальную структуру, и все техногенное, созданное человеком, резко отличается на этом фоне. Еще в 3d-моделировании и сжатии изображений, слышал, используются фрактальные структуры.(с)Mac_Plus_Parts

Да, действительно так. В природе большинство узоров, доказано, имеет фрактальную структуру.  Примером служит кленовый или любой иной лист. Вы рассматривали прожилки на нём? Сначала вы замечали толстые линии, потом они расходились на меньшие и так далее. Отсюда пошли L-системы, деревья Пифагора и т.п. А осенью жёлтые и красные пятна на всё тех же листах подозрительно копируют снежинки Кохха.

В 3D-моделировании же фракталы используются для сокращения размеров продукта. Новые игры имеют высокую степень детализации, с каждым годом она повышается, приближается к реалистичному изображению, однако хранение текстур и форм требует места: чем подробнее рисунок, тем больше он занимает, если мы говорим о векторной графике (от растровой в играх почти отказались, исключая 2D-квесты и поиск предметов, т.к. она слишком много весит). Современные видеокарты имеют достаточные вычислительные мощи, чтобы обрабатывать фрактальную графику в большом количестве. Холмы, горы, облака — в играх они представлены фрактально (на основе трёхмерных моделей комплексных (расширенных) множеств и броулевского движения (а оно, честно говоря, мне незнакомо от слова совсем)). Рендеринг в последние годы вышел на абсолютно новый уровень, дав возможность использовать фотореалистичную и полноценную 3D-графику. «Хозяйке на заметку»: на сегодняшний день в тестах OpenCL (параллельные вычисления) лидируют карточки от NVIDIA, а Intel, бывший на волне развития рендеринга, отошёл на задние позиции, уступая и Radeon от ATI.

Парадоксально, но фракталы используют для уменьшения потери качества при сжатии, внимание, растровых изображений — избежать появление резких контуров при избавлении от «лишних» пикселей.

В комментариях отмечено сходство рисунка на волне со славянской свастикой. Скажу больше: все узоры и орнаменты — это фракталы с разными коэффициентами при делении (взаимно простых чисел, конечно же).

Посмотрим на остальные статьи. Здесь автор исследует масштабирование фрактальных фигур и для доказательства использует построения в MatLab. Выполняет он действия пошагово, делится подробным описанием, хотя моменты, где описана сходимость, покажутся школьникам сложными и неясными. Важнее философская тема, затронутая блоггером. Дочитайте до последнего предложения и задумайтесь. Почему нет? Как вам идея? Пожалуйста, поделитесь собственной точкой зрения в комментариях.

Любопытная задумка  сравнить треугольник Паскаля и треугольник Серпинского была описана тут (вы помните, чем полезен первый из них?). В статье полезна словесная  часть, код же и программки лучше, не  пожалев двух-трёх минут, смотреть в комментариях. Основная особенность Хабрахабра состоит в том, что комментарии зачастую информативнее основного текста, который подталкивает людей к размышлениям, а споры под ним — рождают истину.

Следующий топик вновь посвящён математической философии и фракталам. Идея фрактальности жизни на Земле и жизни Вселенной, истории — это сильно, как ни крути. И до безумия логично. Если не думать о завершении процессов как полном завершении, а лишь как о толчке, дающем результат, что, извините, отсылает больше к дарвинистам, однако точка зрения хабратчанина вписывается и в теорию Большого Взрыва.

Остальные найденные по запросу статьи были на отвлечённые темы или слишком сильно вдавались в Теорию Хаоса.

Актуальность

Последний  познавательный факт в данном топике: создатель Всемирной Паутины, автор веб-браузера, веб-сервера и веб-сайта Сэр Тим Бёрнерс-Ли в последние годы ратует за идею, что Интернет, включая его пользователей и все физические, аппаратные компоненты, есть некий фрактал, а люди — члены фрактального общества, протяжённого, бесконечного, связанного друг с другом путями. Рекомендую также послушать его выступление, где он рассказывает о своём следующем проекте, реализующем полную свободу совместного использования ресурсов:

Если вы устали, предлагаю немного расслабиться и посмотреть запись ТВ-шоу, где  актёр Стивен Фрай, изобретатель Веба — Тим Бернерс-Ли, синтетический биолог Джим Хаселоф, журналист Билл Томпсон и профессор информатики Дэйм Вэнди Холл обсуждают влияние прогресса на культуру, как развивалось общество и как они видят будущее:

Возвращаясь к вопросу актуальности изучения фракталов, напомню сказанное выше: фрактальная графика позволяет значительно уменьшить требования к физической  памяти, что облегчает распространение продуктов. Простой пример:  у вас есть игра, распространяемая бесплатно с возможностью доната — покупки дополнительных предметов или экипировки персонажа. Какую игру скачают пользователи охотнее: весом в 30Гб или в 700Мб? От количества скачиваний напрямую зависит ваш доход. В важности военной маскировки и эстетического удовлетворения от вида фракталов не выйдет усомниться.

Фрактал — множество подобий, сложенное в целое, где каждый похож на него. Великая идея макрокосма в античной философии строится на подобии человека Вселенной, а Вселенной (целому) — человеку (части). Вот оно, одно из звеньев логического доказательства теории, затронутой в последнем топике с Хабра, о фрактальной структуре Вселенной.

Если бы…

Если бы не было публикации статьи здесь, она бы помогла нам выполнить последний пункт из поставленных задач по изучению Хабрахабра. Напомню:

В-пятых, попытаемся зарегистрироваться под «полным» аккаунтом и написать свою первую статью на Хабре, дождёмся отзывов и сделаем определённые выводы.

Текст полностью отвечает требованиям, установленным на Хабре, а именно:

  • материал не был ранее нигде опубликован;
  • в статье нет смайликов, она оформлена в удобном для чтения формате;
  • не является чистым обзором (обзор Apophysis дан в качестве примера);
  • вписывается в тематику сайта.

На Хабре присутствуют  статьи-каталоги, содержащие в себе ссылки на прочие материалы с сайта или ресурсы определённой направленности, бывают теоретические записи, освещающие набор понятий, так что данный топик отлично вписывается в их многообразие. Если бы рассуждения не оценил модератор, то, как минимум, пошло бы обсуждение в комментариях от лица любителей фракталов.

Представим, что MathMagazine.INFO — наш собственный маленький Хабрахабр. Если вы — пользователи- начнёте обсуждение, пятая задача будет полностью выполнена.

Послесловие

Полагаю, статья вышла скорее курсовой работой, чем заметкой в блоге. Если вы дочитали её до конца, низкий поклон. Пусть меня прервали в середине, в момент исследования и эйфории, которую сложно было вернуть, чтобы в голове вновь «загорелась лампочка», на написание ушло более шести часов, и это не учитывая известный до этого материал, вложенный мною в собственный мысленный склад знаний. Кстати, у статьи нет черновика: я пишу её в WP, как есть. Промежуточным черновиком является сохранение в 21-14, когда большей части текста не было.

От начала до конца статья написана мной, без копипаста, включая определения и рассуждения. Проверка показала, что Гневных Ёжиков здесь нет (не считая цитирования комментариев с Хабра, добавленных после, это не плагиат, т.к. указаны авторы).  Иногда бывает, что они забегают во взятый из головы текст, не стоит удивляться, если вы их у себя обнаружите, ибо их появление зависит от употребления популярных фраз и конструкций.

Сколько часов информатики в неделю (9-11 класс)?

View Results

Загрузка ... Загрузка ...

Статью написал(а,и) genzel

genzel

Добрых суток.
Здесь я веду блок статей о сообществе Хабрахабр. Не особо жалую плагиат, поэтому в своих текстах использую «Систему Семи Гневных Ёжиков». На сторонних ресурсах пишу статьи на литературную тематику или о дистанционном образовании. На MathMag.INFO являюсь одним из администраторов (самым криворуким? Пожалуй), клепаю неровное оформление, ставлю плагины и по ночам вычитываю ваши статьи, расставляя метки и отделяя анонсы.
По вопросам обращайтесь на email: angenzel@gmail.com