Музыка гильоша
Данная статья является продолжением серии публикаций о средствах создания графических элементов, защищающих печатную продукцию от подделки. Здесь будет рассмотрена программа с музыкальным названием GLISSANDO (текущая версия на момент написания обзора 4.1). Эта программа имеет множество отличий от рассмотренных ранее программ: от терминологии до ряда оригинальных функций типа «3D-отображения». Но обо всем по порядку…
GLISSANDO это программа для создания элементов декоративного оформления различных документов, например ценных бумаг. К таким элементам (в терминологии программы фигурам) относятся рамки, бордюры, фоновые сетки, розетки. Конечный продукт работы программы представляет собой файл стандартных для векторной графики форматов *.AI или *.EPS. Это позволяет рассматривать GLISSANDO как расширение редактора векторной графики общего назначения. Тем не менее программа не предназначена для работы со слоями, цветом и текстом и является скорее «препроцессором» для такого редактора. В программе предусмотрены простые средства макетирования, а также вывод результатов на печать, главным образом с целью предварительной оценки созданных элементов.
Версия 4.1 выпускается в двух вариантах: GLISSANDO Std (стандартная) и GLISSANDO Pro (расширенная). GLISSANDO Pro имеет по сравнению с GLISSANDO Std некоторые дополнительные возможности, например текстурирование 2Dскалярным полем и отображение на 3Dповерхность.
Установка программы производится обычным способом, в результате чего создается ключевой файл, который необходимо зарегистрировать. В дополнение к этому на аппаратном уровне программа защищена электронным ключом HASP.
GLISSANDO является однодокументным приложением. Внешний вид главного окна программы приведен на рис. 1.
Графической средой GLISSANDO является стандартная библиотека OpenGL, незаменимая для воспроизведения 3Dобъектов. Она позволяет также достичь определенного преимущества над GDIграфикой Windows в скорости отображения двумерных объектов. Геометрическим базисом фигур служат кривые Безье, позволяющие в интерактивном режиме создавать сложные геометрические объекты.
Перед началом работы в GLISSANDO необходимо ознакомиться с терминами, которыми оперирует программа. Как уже было отмечено выше, эти термины принципиально отличаются от определений, используемых в других программах построения гильоша.
Кривая
Геометрическим базисом GLISSANDO является плоский кубический сегмент Безье . Для гибкого управления формой кривой одного сегмента зачастую недостаточно, поэтому прибегают к «сшивке» (термин П.Безье) нужного числа сегментов. Здесь и далее под кривой понимается именно составная кубическая кривая Безье. Контрольные точки (узлы) такой кривой будем подразделять на основные, лежащие на самой кривой (точнее, на концах сегментов), и касательные, служащие для сшивки сегментов. Как строить кривые, мы рассмотрим позже.
Семейство кривых
Семейство кривых это конечное множество кривых, создаваемое генератором семейства путем изменения параметра семейства. В крайних случаях семейство может содержать одну кривую или вовсе быть пустым.
Генератор семейства
Генератор семейства это кривая, которая обычно является периодической. Форму генератора можно модифицировать. Генератором также может служить импортированная кривая. Некоторые формы генераторов показаны на рис. 2.
Параметр семейства
Параметр семейства кривых величина, при изменении которой создаются кривые того же вида, что и генератор семейства, но отличающиеся от него пропорциями и/или положением. Например, параметрами семейства периодических кривых являются амплитуда и начальная фаза. Параметр изменяется дискретно по линейному или другому закону. Шаг изменения параметра определяет число кривых в семействе. Для семейства можно определить и несколько параметров одновременно.
В общем случае семейство кривых имеет следующие характеристики:
• генератор (исходная форма кривой);
• число одновременно изменяемых параметров;
• функция изменения каждого параметра.
В GLISSANDO создаются только однопараметрические линейные и круговые семейства с постоянным шагом изменения параметра. Семейством также может служить произвольный набор импортированных кривых. Несколько примеров семейств представлены на рис. 3 и 4.
Мотив
Мотив (рис. 5) это группа семейств кривых, вписанных в общий прямоугольник. Семейство в составе мотива, как правило, снабжается огибающими (контурами). Огибающие позволяют задавать взаимное расположение семейств, например размещать их друг над другом «стопкой». Семейство без огибающих заполняет всю область мотива. Следует различать огибающие семейства в мотиве и одноименный декоратор в составе фигуры.
Первоначально каждое вновь добавляемое в мотив семейство состоит из одного периода синусоиды. Семейства в мотиве можно клонировать из уже построенных.
Чтобы получить законченную фигуру (розетку, рамку, сетку), к мотиву нужно присоединить декораторы.
Декораторы
Декораторами называют объекты, изменяющие содержимое фигуры. Декораторы служат в фигуре для задания формы и внесения нерегулярностей. Эти две функции декораторов взаимосвязаны, так как изменение формы вносит значительную нерегулярность, а нерегулярности не только могут изменить форму, но и добавить лишнее измерение.
Задание формы
Для задания формы фигуры предназначены искривления, огибающие и симметрии (рис. 6 и 7). Именно с их помощью создаются основные типы фигур розетки, бордюры, рамки, сетки.
Искривление задает фигуре произвольную осевую линию. Это равнозначно помещению фигуры в систему координат, где одной из осей служит кривая. Искривление позволяет создавать различные завитки и «кабельные» узлы.
Огибающие это кривые, задающие неявные контуры фигуры. Огибающие также искривляют содержимое фигуры, но не вдоль осевой линии, как декоратор «Искривление», а во внутренней области, ими ограничиваемой. Применение огибающих основной способ получения розеток и бордюров.
Следует различать огибающие семейств кривых в мотиве и собственно декоратор «Огибающая» в составе фигуры, хотя в обоих случаях методика построения огибающих одна и та же редактирование кривых.
Чтобы подчеркнуть границы фигуры, огибающие могут порождать явные контуры кривые, повторяющие форму огибающих, расположенные на заданном расстоянии от них.
Симметрия служит для размножения содержимого фигуры по определенному закону. В GLISSANDO применяются плоские симметрии с зеркальным отражением. Симметрии в основном используются для получения регулярных сеток и рамок (диагональное зеркальное отражение позволяет получать угловые элементы).
Внесение нерегулярностей
Декораторы «текстура» и «3Dотображение» вносят в фигуру нерегулярности. Особенно полезны эти виды декорирования при создании фоновых мотивов (сеток).
Текстура модулирует содержимое фигуры при помощи двумерного скалярного поля. Текстурирование придает фигуре рельефность (модуляция смещения) или влияет на толщину линий. Другие виды текстурирования клиширование (модулируется размер клише) и штриховка в направлении, зависящем от значения поля в данной точке. Скалярное поле формируется при помощи встроенной библиотеки либо задается в виде формулы. Его также можно получить из импортированного растрового изображения формата Windows Bitmap (*.bmp).
3Dотображение является трехмерным аналогом рельефного текстурирования. В отличие от модуляции смещения, характерного для рельефа, содержимое фигуры отображается на поверхность уровня. При этом фигура как бы приобретает дополнительное измерение. Форма поверхности задается средствами, аналогичными заданию скалярного поля в текстуре. Встроенные интерактивные средства 3Dграфики позволяют в реальном времени выбрать нужный ракурс поверхности для проецирования (рис. 9).
Фигура
Фигурой в GLISSANDO называется любой гильоширный элемент. Фигура состоит из мотива и последовательно присоединенных к нему декораторов. Состав и порядок следования декораторов в фигуре (конфигурация) зависят от желаемого результата.
Совокупность всех кривых, созданных мотивом и модифицированных декораторами, называется содержимым фигуры. Фигура, в которой отсутствует и мотив, и декоратор (следовательно, нет содержимого), называется пустой. Для удобства в GLISSANDO имеются шаблоны для создания типичных фигур.
Сцена
Сценой называется как совокупность фигур, так и основной тип документов GLISSANDO (файл с расширением.gls), содержащий эти фигуры (одиночные фигуры можно также сохранять в файлах с расширением.glf).
Одну или несколько фигур сцены можно выделить (взять в рамкуселектор). Выделенные из сцены фигуры называются выбором.
GLISSANDO предоставляет простые возможности макетирования, такие как взаимное расположение фигур, их клонирование и преобразования (перемещение, масштабирование, вращение, отражение). Вся сцена или ее выделенная часть затем экспортируются в файл формата.ai или.eps для дальнейшего использования в редакторах векторной графики. Для оценки результатов предусмотрен вывод сцены на печать.
Использование программы
Использование программы не представляет особой сложности. Все инструменты интуитивно понятны. Главное знать алгоритм действий при построении того или иного элемента. Рассмотрим несколько примеров.
Лента (ленточный бордюр)
Формула: Мотив+Огибающие+Симметрия или Мотив+Симметрия+Огибающие.
Варианты: Мотив, Мотив + Симметрия или Мотив + Огибающие.
Вместо «Огибающие» дополнительно можно использовать «Искривление».
Порядок действий (рис. 10):
• создаем «Мотив»;
• выбираем «Симметрия|Решетка» и редактируем симметрию;
• выбираем «Огибающие|Лента» (вариант «Огибающие|Импорт») и редактируем огибающие (вариант импортированные кривые).
Последние два шага можно поменять местами, или исключить один из них, или выполнить оба сразу.
Розетка
Формула: Мотив+Огибающие или Мотив+Симметрия+Огибающие. Вместо «Огибающие» (или дополнительно) можно использовать «Искривление».
Порядок действий (рис. 11):
• создаем «Ленту» по формуле «Мотив» или «Мотив+Симметрия»;
• выбираем «Огибающие|Кольцо» (вариант «Огибающие|Импорт») и редактируем огибающие (вариант импортированные кривые).
Рамка (прямоугольный бордюр), угол
Формула: Мотив+Огибающие+Симметрия или Мотив+Симметрия.
В плане построения различий между рамкой и бордюром нет. Мотив рамок, как правило, проще, и состоит из 12 семейств с небольшим числом шагов, а стороны огибающих не искривляются.
Порядок действий (рис. 12):
• создаем «Ленту» по формуле «Мотив» или «Мотив+Огибающие»;
• выбираем «Симметрия», затем «Ячейка|Диагональ» и редактируем ячейку;
• вновь выбираем «Симметрия», устанавливаем стиль «Угол», «Ворота» или «Рамка» в зависимости от того, фигуру какого типа хотим получить, и редактируем симметрию.
Фоновая сетка
Формула: Мотив + Симметрия + Текстура + Огибающие или Мотив + Симметрия.
Варианты: Мотив+Симметрия, Мотив+Симметрия+Текстура или Мотив+Симметрия+Огибающие.
Вместо «Текстура» (или дополнительно) можно использовать «3Dотображение». Вместо «Огибающие» (или дополнительно) можно использовать «Искривление». Мотив сетки, как правило, прост: 12 семейства с небольшим числом шагов без огибающих. Возможно применение импортированных семейств.
Порядок действий (рис. 13):
• создаем «Ленту» по формуле «Мотив»;
• выбираем «Симметрия|Решетка». Если нужно использовать какойлибо вид симметрии, выбираем «Ячейка», устанавливаем нужный стиль ячейки и редактируем ячейку;
• вновь выбираем «Симметрия» и редактируем симметрию;
• выбираем «Текстура», затем «Скалярное поле» и создаем скалярное поле (один из способов загрузить желаемое растровое изображение);
• возвращаемся в окно «Текстура», устанавливаем «Текстура|Подъем» или «Текстура|Толщина» и редактируем текстуру;
• выбираем «Огибающие» любого типа (как правило, «Лента» или «Четырехугольник») и редактируем огибающие.
Если «Текстура» или «Огибающие» не требуются, соответствующие шаги не применяются. Следует помнить, что в версии Std (стандарт) недоступен инструменты «3Dотображение» и стили «Скалярное поле» (кроме импорта растрового изображения).
Текстура|Рельеф и Текстура|Штрих
Формула: Текстура или Текстура + Огибающие.
Эти формулы необычны изза отсутствия мотива. Дело в том, что «Рельеф» и «Штрих» создают содержимое фигуры из систем прямых линий, генерируемых ими самими, такие виды текстурирования применимы только для пустых фигур. Вместо «Огибающие» или дополнительно можно использовать «Искривление».
Порядок действий (рис. 14):
• выбираем «Текстура»;
• выбираем «Скалярное поле» и создаем скалярное поле (вариант загружаем изображение);
• возвращаемся в окно «Текстура», выбираем «Текстура|Рельеф» или «Текстура|Штрих» и редактируем текстуру.
• выбираем «Огибающие» любого типа (как правило, «Лента» или «Четырехугольник») и редактируем огибающие. Если шаг «Огибающие» не предусматривается, его не применяют.
* * *
В заключение хотелось бы отметить несомненные достоинства рассматриваемой программы:
• простота в освоении за счет интуитивно понятного интерфейса;
• возможности поворота любой фигуры в трехмерной проекции и ее дальнейшего проецирования на плоскость, что позволяет легко создавать нерегулярные элементы в объектах;
• быстрота работы любые изменения происходят в режиме реального времени.
Автор благодарит фирму SecuritySoft Co (http://www.securesoft.ru/) за предоставленную рабочую версию программы для тестирования.