Графическое движение: тесселяции своими руками.
Иногда, когда я рисую, мне кажется, будто я медиум, находящийся во власти существ, порождённых моим же воображением. Рыбы становятся птицами. День ночью. Из хаоса рождается жизнь, она замирает в мёртвых городах, трансформируется в шахматную партию и рассыпается в пыль. Мозаика оживает и превращается в ящериц, они движутся, живут и вновь уходят в орнамент.
Мауриц Корнелис Эшер
Автор эпиграфа — нидерландский художник-график, известный концептуальными литографиями, гравюрами на дереве и металле, в которых мастерски исследует пластические аспекты понятий бесконечности и симметрии.
Как ни абсурдно, несколько проведённых от руки линий могут выглядеть, как объёмная фигура. Такова особенность психологического восприятия человеком сложных трёхмерных объектов. Эшер добивался простыми средствами поразительного эффекта. А если бы в его распоряжении были все средства современной компьютерной графики? Как говорил он сам: «Если бы вы только знали, какие видения посещают меня в ночной тьме… Иногда моя неспособность сделать их зримыми буквально сводит меня с ума».
Имея последние версии «Корела», «Пэйнта» или «Фотошопа», можно пойти другим путём. И предстанут перед нами иные метаморфозы…
В CorelDRAW прекрасно реализуется один из приёмов рисования Эшера — тесселяции, известные как покрытие плоскости плитками (tiling). Это коллекции фигур, которые покрывают всю математическую плоскость, совмещаясь без наложений и пробелов.
![](https://habrastorage.org/getpro/habr/post_images/131/446/f87/131446f87c6f118afdafc34798323ba2.jpg)
Репродукция картины Эшера «День и ночь»
В черновиках Эшера содержится множество таких вариаций. Он использовал их во многих произведениях: знаменитые «Метаморфозы», «Мозаики», картина «День и ночь», серия картин «Предел круга» и др.
![](https://habrastorage.org/getpro/habr/post_images/73a/033/68c/73a03368c68e46f1a609a438aa4cd432.jpg)
Знаменитые «мозаики»
![](https://habrastorage.org/getpro/habr/post_images/5c8/c98/c49/5c8c98c4905433e143f9c748a81c8f4c.jpg)
«Circle Limit with Butterflies»
Правильные тесселяции состоят из фигур в виде правильных многоугольников, при совмещении которых все углы одинаковые. Существует всего три многоугольника, пригодных для использования в тесселяциях, — квадрат, правильные треугольник и шестиугольник.
Теперь и начинающий дизайнер, на пару с компьютером, может стать Эшером, правда, славы его уже не добьётся. Хотя кто знает, какие таланты могут открыться среди мастеров компьютерной графики…
![](https://habrastorage.org/getpro/habr/post_images/096/0ed/d4f/0960edd4f8ae54c2c9727da4996ac819.jpg)
Сам себе Эшер
Для создания тесселяций нужно только знать несколько простых приёмов. Берём правильный треугольник, квадрат и, конечно, правильный шестиугольник. Правильные — потому что они сами воплощение симметрии.
![](https://habrastorage.org/getpro/habr/post_images/f3d/462/393/f3d462393f21f8abcc18bb2220ed140b.jpg)
Те самые правильные фигуры, используемые в тесселяциях
С помощью векторных редакторов можно получить удивительные мозаики. Создадим алгоритм создания тесселяций на базе произвольных кривых. Все наши новые объекты легко могут быть вписаны в те же правильные многоугольники.
Рисуем в CorelDRAW произвольную кривую. Открываем докер преобразований. Перемещаем центр вращения кривой в её начало и поворачиваем с дублированием объекта на угол 90º. Чем точнее будет установлена точка центра вращения объекта, тем правильнее будет выглядеть мозаика.
Поэтому удобнее включить в CorelDRAW режим «Привязка к объектам».
Снова перемещаем центр вращения исходной кривой в её конечную точку и ещё раз поворачиваем с дублированием на 90º. Объединяем кривые и вписываем в квадрат. Преобразуем кривые в объект, выполнив операцию «Объединить», и последовательно соединяем пары узлов в вершинах «квадрата». Можно воспользоваться командой меню «Упорядочить» • «Соединить кривые» и в соответствующем докере уменьшить значение допуска зазора. Основа будущей мозаики представляет замкнутую кривую, поэтому для неё можно задать заливку и абрис.
![](https://habrastorage.org/getpro/habr/post_images/0a6/a5e/da9/0a6a5eda9daca3d87931a3fd325a83ed.jpg)
Алгоритм создания элемента мозаики
Снова перемещаем центр вращения в одну из вершин объекта, устанавливаем угол поворота -90º, количество копий — 3 и одним щелчком по кнопке «Применить» в докере преобразований получаем мозаику из 4-х элементов.
![](https://habrastorage.org/getpro/habr/post_images/b8c/9c3/8af/b8c9c38af03a9001154db62097f6dce3.jpg)
А так добиваемся вращения элементов мозаики
Продолжаем строить мозаику: повторяем операцию вращения уже для группы из первых 4-х объектов. Аналогично дублируем группу объектов с поворотом на -90º относительно центра вращения в вершине «квадрата». На двух сторонах объекта есть выступающие элементы, а две другие содержат аналогичные элементы в виде вырезов.
![](https://habrastorage.org/getpro/habr/post_images/2fd/7c6/102/2fd7c61025ae88b0fdefcd5c15a67abb.jpg)
Продолжаем создание мозаики и получаем так любимые детьми и взрослыми «пазлы»
![](https://habrastorage.org/getpro/habr/post_images/57b/e7c/a28/57be7ca28c16b9b71b0f112a678bb182.jpg)
Варианты мозаик, построенных на различных базовых кривых
Усложним задачу, но не для себя, и даже не для CorelDRAW, а только для геометрии. Делаем мозаику на базе треугольников и шестиугольников. И сталкиваемся с одной особенностью. В мозаике из множества объектов нельзя использовать произвольные кривые. Базовая кривая тут обязательно должна состоять из двух симметричных частей. Один отрезок кривой может содержать выступающие элементы, а другой — элементы выреза. Только тогда фрагменты мозаики будут прилегать друг к другу без зазоров и наложений. Для треугольников базовую кривую надо дублировать с поворотом на -60º.
![](https://habrastorage.org/getpro/habr/post_images/a5e/c83/9ff/a5ec839ff546bbb900ca1272d17779e3.jpg)
Вращение симметричного отрезка кривой для получения правильного треугольника
![](https://habrastorage.org/getpro/habr/post_images/384/adc/534/384adc53446b5ad1611980420b383dde.jpg)
Теперь у нас есть блок мозаики из треугольников
![](https://habrastorage.org/getpro/habr/post_images/b8e/f84/eb4/b8ef84eb45cee21e058f76a6499d78ab.jpg)
Примеры мозаик на базе треугольников
Аналогично строятся мозаики на базе шестиугольников, только угол поворота каждой базовой кривой 120º. На тот же угол поворачиваются все последующие элементы. Для точного соединения деталей мозаики базовая кривая должна содержать выступы и впадины, которые и соединяются в процессе составления узора.
![](https://habrastorage.org/getpro/habr/post_images/e88/c2e/9ed/e88c2e9ed7711bf94b8194a0a0b0ede6.jpg)
Примеры мозаики на базе шестиугольников
Мозаика составлена, оживляем её. Использовать можно все эффекты из CorelDRAW, применимые к векторным объектам и их группам: оболочку, искажение, вытягивание, художественное оформление, скос, рельеф, линзу… Подойдут различные заливки и абрисы. А можно взять произвольное фотоизображение либо векторную картинку, поместить в PowerClip и имитировать эффект рассыпавшейся мозаики.
![](https://habrastorage.org/getpro/habr/post_images/416/d0b/b69/416d0bb6939380671d4e2fe6f0f9d960.jpg)
«Рассыпанные пазлы»
Применим к готовой мозаике эффект «Линза» • «Рыбий глаз» и получим имитацию эффекта объёма.
![](https://habrastorage.org/getpro/habr/post_images/971/c16/086/971c16086c65fd83f5d2a7935f8f8299.jpg)
Эффект «линза» с положительными и отрицательными значениями параметра «частота»
В качестве основы тесселяций подойдут не только базовые кривые, но и группы объектов с различными заливками и заранее применёнными эффектами. А можно дополнить фрагмент мозаики дополнительными рисунками.
![](https://habrastorage.org/getpro/habr/post_images/e63/129/018/e6312901870d4808fe6c4c62a23de3be.jpg)
Фрагменты мозаики дополнены декоративными элементами
А теперь откроем графическое движение. Превратим мозаику в анимацию. Элементы мозаики, созданные в CorelDRAW, размещались на одном слое, тогда как программы для создания анимации требуют расположения её элементов в отдельных слоях. Конечно, можно вручную перераспределить кусочки мозаики по отдельным слоям в CorelDRAW, но это работа долгая и нудная. Упростим себе жизнь, скачав с сайта www.cdrpro.ru специальный макрос ToLayers для перераспределения объектов по слоям. Загрузим его в CoreDRAW с помощью диспетчера макросов. Остаётся выделить все объекты, которые надо распределить по слоям, и запустить макрос.
![](https://habrastorage.org/getpro/habr/post_images/039/a13/57b/039a1357b4eeef5ea3d53fa555247f0e.jpg)
Запускаем макрос ToLayers и наблюдаем результат
После того как макрос автоматически перераспределит объекты или группы объектов по слоям, можно экспортировать мозаику для дальнейшей анимации. Экспортировать будем в двух режимах — в файл формата *.psd для Adobe Photoshop и в *.cpt для Corel PHOTO-PAINT.
В настройках параметров экспорта пометим ячейку «Сохранять слои», чтобы не допустить слияния всех слоёв в один, иначе все наши труды пропадут зря. Изменим цветовую модель на RGB и уменьшим размер изображения.
![](https://habrastorage.org/getpro/habr/post_images/fe2/441/595/fe24415952132c8687aea33fc895bada.jpg)
При экспорте выберите формат инструмента, в котором удобнее работать дальше
Откроем экспортированный файл в Photoshop. Все слои мозаики сохранены, осталось открыть панель анимации и выбрать функцию «Make Frames from Layers», установить параметры анимации и сохранить оптимизированное изображение в формате *.gif.
![](https://habrastorage.org/getpro/habr/post_images/4ac/1fb/6cc/4ac1fb6cc6d71ddb4988736aded33ee9.jpg)
Анимированный баннер соберём из кусочков мозаики. Можно инвертировать направление анимации — тогда мозаика будет «рассыпаться».
![](https://habrastorage.org/getpro/habr/post_images/4ac/1fb/6cc/4ac1fb6cc6d71ddb4988736aded33ee9.jpg)
А так можно создать анимированный баннер в Photoshop
Вернёмся в Corel PHOTO-PAINT и откроем ранее экспортированный файл мозаики. Все фрагменты распределены по слоям. Можно применить к одному из них любой эффект, например из группы трёхмерных эффектов или текстур, и повторить эффект для всех видимых объектов. Вид мозаики изменится.
![](https://habrastorage.org/getpro/habr/post_images/b3f/407/a8a/b3f407a8a08a0a35c1053fd7e4f24b6d.jpg)
Элементы мозаики с эффектами «Пластик»
![](https://habrastorage.org/getpro/habr/post_images/ed4/497/9e0/ed44979e0022072cf335ed78376eff50.jpg)
Элементы мозаики с настройками эффекта «Пластик»
А теперь создадим в Corel PHOTO-PAINT анимированный баннер, для чего откроем вкладку «Фильм» • «Создать из документа». Последовательно объединяя каждый фрагмент мозаики с фоном и размещая их на соответствующем кадре фильма, создаём анимацию.
От рутинных операций можно избавиться, записав последовательность действий по созданию анимации в виде пользовательского макроса в CorelPHOTO-PAINT или создав пользовательский Action в Photoshop и использовав его для последующих мозаик.
![](https://habrastorage.org/getpro/habr/post_images/ed4/497/9e0/ed44979e0022072cf335ed78376eff50.jpg)
Создание анимации последовательным объединением активного слоя с фоном
![](https://habrastorage.org/getpro/habr/post_images/815/0b7/59b/8150b759b13d28006565cabeaddfdec5.jpg)
Импорт послойного изображения в Adobe Flash
![](https://habrastorage.org/getpro/habr/post_images/4fb/791/7f6/4fb7917f687164e8be3c328edb93733c.jpg)
Слои мозаики в Adobe Flash
В любом редакторе, работающем с векторными объектами, можно быстро трансформировать объекты. Алгоритм создания тесселяций легко использовать в Adobe Illustrator и Adobe Flash Professional. Начинающим пользователям Flash достаточно также импортировать многослойную мозаику в формате *.psd и разместить в Adobe Flash, распределив элементы по ключевым кадрам либо по слоям.
Современные графические редакторы позволяют легко и просто создавать анимированные баннеры, флэш-игрушки, рекламные клипы, глубоко проникающие в сознание покупателей.
Великий художник вспоминал, как однажды ему позвонила дама и сказала:
«Господин Эшер, я восхищаюсь Вашими работами. В Вашем произведении “Рептилии” мне представляется реинкарнация». А он ответил:
«Мадам, если Вы это видите, то это так и есть».
Теперь произведения компьютерной графики, как и картины великих художников и фильмы великих режиссёров, наполнятся жизнью, движением, смыслом. Главное — делать всё с душой, тогда каждый дизайнер может стать анимационным Феллини.
Об авторах: Елена Свистунова (elensvs@yandex.ru), преподаватель компьютерной графики; Александр Свистунов (alexsvs@yandex.ru;http://alexrash.livejournal.com/), писатель, директор интернет-компании InterNext.
По материалам COREL Magazine