ЛЕКЦИЯ 7. Обработка графических данных
На персональном компьютере
В настоящее время работа с компьютером представляется немыслимой без использования графики. С ней мы встречаемся уже с момента загрузки ОС Windows - картинка рабочего стола, изображение папок и элементов управления - все это графические объекты; при обработке цифровых фотографий; создании flash-анимации или просто, играя в компьютерные игры. Существует специальная область информатики, изучающая методы и средства создания и обработки изображений с помощью программно-аппаратных вычислительных комплексов, - компьютерная графика. Она охватывает все виды и формы представления изображений, доступных для восприятия человеком либо на экране монитора, либо в виде копии на внешнем носителе (бумага, кинопленка и прочее). Без компьютерной графики невозможно представить себе не только компьютерный, но и обычный, вполне материальный мир. Визуализация данных находит применение в самых разных сферах человеческой деятельности. Для примера назовем медицину (компьютерная томография), научные исследования (визуализация строения вещества, векторных полей и других данных), моделирование тканей и одежды, опытно-конструкторские разработки.
В настоящей лекции будут раскрыты существующие виды компьютерной графики, основные графические форматы файлов, цветовые модели, а также представлен обзор программных средств для обработки графических данных. Отдельным вопросом рассматривается порядок создания презентаций в Microsoft Office PowerPoint 2003.
Ключевые слова: растровая графика, векторная графика, фрактальная графика, трехмерная (3D) графика, разрешение, растр, пиксель, растрирование с амплитудной модуляцией, сплайн, линия, кривая Безье, Microsoft Office PowerPoint, слайд, эффекты анимации, шаблоны оформления, законы Грассмана, Paint, Adobe Photoshop, CorelDraw, форматы графических файлов, цветовые модели RGB, CMYK, HSB.
Виды компьютерной графики
В зависимости от способа формирования изображений компьютерную графику принято подразделять на растровую, векторную и фрактальную.
Отдельным предметом считается трехмерная (3D) графика, изучающая приемы и методы построения объемных моделей объектов в виртуальном пространстве. Как правило, в ней сочетаются векторный и растровый способы формирования изображений.
Особенности цветового охвата характеризуют такие понятия, как черно-белая и цветная графика.
Заметное место в компьютерной графике отведено развлечениям. Появилось даже такое понятие, как механизм графического представления данных (Graphics Engine) в играх. Рынок игровых программ имеет оборот в десятки миллиардов долларов и часто инициализирует очередной этап совершенствования графики и анимации.
Хотя компьютерная графика служит всего лишь инструментом, ее структура и методы основаны на передовых достижениях фундаментальных и прикладных наук: математики, физики, химии, биологии, статистики, программирования и множества других. Это замечание справедливо как для программных, так и для аппаратных средств создания и обработки изображений на компьютере. Поэтому компьютерная графика является одной из наиболее бурно развивающихся отраслей информатики и во многих случаях выступает «локомотивом», тянущим за собой всю компьютерную индустрию.
Растровая графика. Для растровых изображений, состоящих из точек, особую важность имеет понятие разрешения, выражающее количество точек, приходящихся на единицу длины. При этом следует различать:
• разрешение оригинала;
• разрешение экранного изображения;
• разрешение печатного изображения.
Разрешение оригинала измеряется в точках на дюйм (dots per inch - dpi) и зависит от требований к качеству изображения и размеру файла, способу оцифровки или методу создания исходной иллюстрации, избранному формату файла и другим параметрам. В общем случае действует правило: чем выше требования к качеству, тем выше должно быть разрешение оригинала.
Разрешение экранного изображения. Для экранных копий изображения элементарную точку растра принято называть пикселом. Размер пиксела варьируется в зависимости от выбранного экранного разрешения (из диапазона стандартных значений), разрешения оригинала и масштаба отображения.
Мониторы для обработки изображений с диагональю 19-24 дюйма (профессионального класса), как правило, обеспечивают стандартные экранные разрешения 640×480, 800×600, 1024×768, 1280×1024, 1600×1200, 1600×1280, 1920×1600, 2048×1536 точек. Расстояние между соседними точками люминофора у качественного монитора составляет 0,22-0,25 мм.
Размер точки растрового изображения как на твердой копии (бумага, пленка и т. д.), так и на экране зависит от примененного метода и параметров растрирования оригинала. При растрировании на оригинал как бы накладывается сетка линий, ячейки которой образуют элемент растра. Частота сетки растра измеряется числом линий на дюйм (lines per inch - lpi) и называется линиатурой.
Размер точки растра рассчитывается для каждого элемента и зависит от интенсивности тона в данной ячейке. Чем больше интенсивность, тем плотнее заполняется элемент растра. То есть, если в ячейку попал абсолютно черный цвет, размер точки растра совпадет с размером элемента растра. В этом случае говорят о 100% заполняемости. Для абсолютно белого цвета значение заполняемости составит 0%. На практике заполняемость элемента на отпечатке обычно составляет от 3 до 98%. При этом все точки растра имеют одинаковую оптическую плотность, в идеале приближающуюся к абсолютно черному цвету. Иллюзия более темного тона создается за счет увеличения размеров точек и, как следствие, сокращения пробельного поля между ними при одинаковом расстоянии между центрами элементов (рис. 7.1). Такой метод называют растрированием с амплитудной модуляцией.
ячейка растра АМ-растр, АМ-растр,
18,75% 50%
Рис. 7.1. Примеры амплитудной модуляции растра
Интенсивность тона (так называемую светлоту) принято подразделять на 256 уровней. Большее число градаций не воспринимается зрением человека и является избыточным. Меньшее число ухудшает восприятие изображения (минимально допустимым для качественной полутоновой иллюстрации принято значение 150 уровней). Нетрудно подсчитать, что для воспроизведения 256 уровней тона достаточно иметь размер ячейки растра 256 = 16x16 точек.
С помощью растровой графики можно отразить и передать всю гамму оттенков и тонких эффектов, присущих реальному изображению. Растровое изображение ближе к фотографии, оно позволяет более точно воспроизводить основные характеристики фотографии: освещенность, прозрачность и глубину резкости.
Чаще всего растровые изображения получают с помощью сканирования фотографий и других изображений, с помощью цифровой фотокамеры или путем «захвата» кадра видеосъемки. Растровые изображения можно получить и непосредственно в программах растровой или векторной графики путем преобразовании векторных изображений.
Одним из недостатков растровой графики является, так называемая, пикселизация изображений при их увеличении (если не приняты специальные меры). Раз в оригинале присутствует определенное количество точек, то при большем масштабе увеличивается и их размер, становятся заметны элементы растра, что искажает саму иллюстрацию (рис. 7.2).
Рис. 7.2. Эффект пикселизации при масштабировании растрового изображения
Векторная графика. Преимущество векторной графики заключается в том, что форму, цвет и пространственное положение составляющих ее объектов можно описывать с помощью математических формул.
Если в растровой графике базовым элементом изображения является точка, то в векторной графике - линия. Линия описывается математически как единый объект, и потому объем данных для отображения объекта средствами векторной графики существенно меньше, чем в растровой графике.
Важным объектом векторной графики является сплайн. Сплайн - это кривая, посредством которой описывается та или иная геометрическая фигура. На сплайнах построены современные шрифты TrueType и PostScript (рис. 7.3).
Рис. 7.3. Элементы векторной графики
Линия - элементарный объект векторной графики. Как и любой объект, линия обладает свойствами: формой (прямая, кривая), толщиной, цветом, начертанием (сплошная, пунктирная). Замкнутые линии приобретают свойство заполнения. Охватываемое ими пространство может быть заполнено другими объектами (текстуры, карты) или выбранным цветом.
Простейшая незамкнутая линия ограничена двумя точками, именуемыми узлами. Узлы также имеют свойства, параметры которых влияют на форму конца линии и характер сопряжения с другими объектами.
Все прочие объекты векторной графики составляются из линий. Например, куб можно составить из шести связанных прямоугольников, каждый из которых, в свою очередь, образован четырьмя связанными линиями. Возможно представить куб и как двенадцать связанных линий, образующих ребра.
Рассмотрим подробнее способы представления различных объектов в векторной графике.
Точка. Этот объект на плоскости представляется двумя числами
(х, у), указывающими его положение относительно начала координат.
Прямая линия. Ей соответствует уравнение у=kx+b. Указав параметры k и b, всегда можно отобразить бесконечную прямую линию в известной системе координат, то есть для задания прямой достаточно двух параметров.
Отрезок прямой. Он отличается тем, что требует для описания еще два параметра - например, координаты х1 и х2 начала и конца отрезка.
Кривая второго порядка. К этому классу кривых относятся параболы, гиперболы, эллипсы, окружности, то есть все линии, уравнения которых содержат степени не выше второй. Кривая второго порядка не имеет точек перегиба. Прямые линии являются всего лишь частным случаем кривых второго порядка. Формула кривой второго порядка в общем виде может выглядеть, например, так:
х2 + а1у2 + а2xу + а3х + а4у + а5 = 0.
Таким образом, для описания бесконечной кривой второго порядка достаточно пяти параметров. Если требуется построить отрезок кривой, понадобятся еще два параметра.
Кривая третьего порядка. Отличие этих кривых от кривых второго порядка состоит в возможном наличии точки перегиба. Например, график функции у = x3 имеет точку перегиба в начале координат (рис. 7.4). Именно эта особенность позволяет сделать кривые третьего порядка основой отображения природных объектов в векторной графике. Например, линии изгиба человеческого тела весьма близки к кривым третьего порядка. Все кривые второго порядка, как и прямые, являют частными случаями кривых третьего порядка.
В общем случае уравнение кривой третьего порядка можно записать так:
х3 + а1у3 + а2x2у + a3xy2 + а4х2 + а5у2 + а6ху + а7х + а8y + а9 = 0
Рис. 7.4. Кривая третьего порядка (слева) и кривая Безье (справа)
Таким образом, кривая третьего порядка описывается девятью параметрами. Описание ее отрезка потребует на два параметра больше.
Кривые Безье. Это особый, упрощенный вид кривых третьего порядка (см. рис. 7.4). Метод построения кривой Безье основан на использовании пары касательных, проведенных к отрезку линии в ее окончаниях. Отрезки кривых Безье описываются восемью параметрами, поэтому работать с ними удобнее. На форму линии влияет угол наклона касательной и длина ее отрезка. Таким образом, касательные играют роль виртуальных «рычагов», с помощью которых управляют кривой.
У векторной графики много достоинств. Она экономна в плане дискового пространства, необходимого для хранения изображений: это связано с тем, что сохраняется не само изображение, а только некоторые основные данные, используя которые, программа всякий раз воссоздает изображение заново. Кроме того, описание цветовых характеристик почти не увеличивает размер файла.
Объекты векторной графики легко трансформируются и модифицируются, что не оказывает практически никакого влияния на качество изображения. Масштабирование, поворот, искривление могут быть сведены к паре-тройке элементарных преобразований над векторами (рис. 7.5).
Векторная графика может включать в себя и фрагменты растровой графики: фрагмент становится таким же объектом, как и все остальные (правда, со значительными ограничениями в обработке).
Важным преимуществом программ векторной графики является развитые средства интеграции изображений и текста, единый подход к ним. Поэтому программы векторной графики незаменимы в области дизайна, технического рисования, для чертежно-графических и оформительских работ.
Однако, с другой стороны, векторная графика может показаться чрезмерно жесткой, «фанерной». Она действительно ограничена в чисто живописных средствах: в программах векторной графики практически невозможно создавать фотореалистические изображения.
Кроме того, векторный принцип описания изображения не позволяет автоматизировать ввод графической информации, как это делает сканер для точечной графики.
Фрактальная графика, как и векторная, основана на математических вычислениях. Однако базовым элементом фрактальной графики является сама математическая формула, то есть никаких объектов в памяти компьютера не хранится и изображение строится исключительно по уравнениям. Таким способом строят как простейшие регулярные структуры, так и сложные иллюстрации, имитирующие природные ландшафты и трехмерные объекты (рис. 7.6).
Рис. 7.6. Примеры фрактальных объектов
Трехмерная графика нашла широкое применение в таких областях, как научные расчеты, инженерное проектирование, компьютерное моделирование физических объектов. В качестве примера рассмотрим наиболее сложный вариант трехмерного моделирования - создание подвижного изображения реального физического тела.
В упрощенном виде для пространственного моделирования объекта требуется:
• спроектировать и создать виртуальный каркас («скелет») объекта, наиболее полно соответствующий его реальной форме;
• спроектировать и создать виртуальные материалы, по физическим свойствам визуализации похожие на реальные;
• присвоить материалы различным частям поверхности объекта;
• настроить физические параметры пространства, в котором будет действовать объект, - задать освещение, гравитацию, свойства атмосферы, свойства взаимодействующих объектов и поверхностей;
• задать траектории движения объектов;
• рассчитать результирующую последовательность кадров;
• наложить поверхностные эффекты на итоговый анимационный ролик.
Для создания реалистичной модели объекта используют геометрические примитивы (прямоугольник, куб, шар, конус и прочие) и гладкие, так называемые сплайновые поверхности. В последнем случае применяют чаще всего метод бикубических рациональных В-сплайнов на неравномерной сетке (NURBS). Вид поверхности при этом определяется расположенной в пространстве сеткой опорных точек. Каждой точке присваивается коэффициент, величина которого определяет степень ее влияния на часть поверхности, проходящей вблизи точки. От взаимного расположения точек и величины коэффициентов зависит форма и «гладкость» поверхности в целом. Специальный инструментарий позволяет обрабатывать примитивы, составляющие объект, как единое целое, с учетом их взаимодействия на основе заданной физической модели.