Содержание урока:
24.1. Компьютерная графика и её виды
24.2. Форматы графических файлов
Компьютерная графика — широкое понятие, обозначающее:
1) область деятельности, в которой компьютеры используются как инструменты создания и обработки графических объектов;
2) разные виды графических объектов, созданных или обработанных с помощью компьютера.
По способу создания можно выделить следующие классы объектов компьютерной графики (рис. 5.4): двумерные изображения (растровые, векторные, фрактальные), трёхмерные изображения, анимацию.
Рис. 5.4. Объекты компьютерной графики
Растровое графическое изображение состоит из отдельных маленьких прямоугольников — пикселей. Размеры пикселей растрового изображения настолько малы, что при его просмотре в обычном масштабе они неразличимы. Зернистая структура растрового графического изображения становится заметной при увеличении масштаба его просмотра (рис. 5.5).
Рис. 5.5. Растровое и векторное изображения в обычном и увеличенном масштабе
Пиксель — наименьший элемент растрового изображения. Он может принимать любой цвет из палитры, содержащей миллионы цветов. Точность цветопередачи — основное достоинство растровых графических изображений. При сохранении растрового изображения в памяти компьютера сохраняется информация о цвете каждого входящего в него пикселя. Качество растрового изображения возрастает с увеличением количества пикселей в изображении и количества цветов в палитре. Но при этом возрастает и информационный объём всего изображения.
Растровая графика — универсальное средство для формирования и обработки любых плоских изображений. С помощью цветов и оттенков отдельных точек на плоском изображении могут быть показаны и пространственные (объёмные) сцены. В полиграфических и электронных изданиях растровые изображения используются в тех случаях, когда нужно качественно и чётко передать в изображении оттенки цветов и плавные переходы от одного цвета к другому.
Серьёзным недостатком растровой графики является существенное падение качества изображения в результате его масштабирования и различных геометрических преобразований. Это связано с тем, что при уменьшении растрового изображения несколько соседних пикселей преобразуются в один, что ведёт к потере чёткости мелких деталей изображения. При увеличении растрового изображения в него добавляются новые пиксели, причём соседние пиксели принимают одинаковый цвет и возникает ступенчатый эффект.
Растровые изображения можно получить, сканируя рисунки или фотографии, фотографируя объекты цифровым фотоаппаратом, создавая рисунки с использованием графического планшета или разнообразных растровых графических редакторов (Microsoft Paint, GIMP, Adobe Photoshop).
В последнем случае определённые трудности возникают при манипуляциях с отдельными фрагментами изображения. Чтобы лучше понять, о чём идёт речь, просто представьте свои действия при удалении одного из лепестков цветка (см. рис. 5.5) в графическом редакторе Microsoft Paint. Для преодоления этого недостатка более мощные программы работы с растровой графикой (GIMP, Adobe Photoshop) предусматривают средства создания составных изображений с помощью:
1) механизма слоёв (layers) — накладывающихся друг на друга плоскостей, в каждой из которых используется только часть точек;
2) механизма фильтров — преобразующих цвета пикселей с учётом некоторых параметров;
3) управления цветовыми каналами;
4) управления способом взаимодействия отдельных слоёв.
Векторное изображение — это изображение, построенное из геометрических примитивов (объектов): отрезков прямых, дуг, окружностей, эллипсов, многоугольников и кривых Безье. Примитив не нужно рисовать — выбрав на панели инструментов пиктограмму с его изображением или названием, вы просто задаёте необходимые параметры, по которым компьютер сам выполняет необходимые построения.
Объекты векторного изображения накладываются друг на друга, образуя независимые слои. Каждый слой векторного изображения содержит свой объект. При преобразовании векторного объекта исходное изображение удаляется, а вместо него строится новое — по тем же алгоритмам, но с учётом изменённых данных. Это позволяет без потерь качества масштабировать, поворачивать и трансформировать векторные изображения, оставляя при этом толщину линий неизменной (см. рис. 5.5).
Кривые Безье были разработаны в 60-х годах XX века независимо друг от друга Пьером Безье из автомобилестроительной компании «Рено» и Полем де Кастельжо из компании «Ситроен», где применялись для проектирования кузовов автомобилей. Математический аппарат кривых
Безье основан на многочленах Бернштейна, описанных Сергеем Натановичем Бернштейном в 1912 году.
В компьютерной графике в основном применяются кривые Безье второго и третьего порядка (рис. 5.6). Кривая Безье второго порядка описывается уравнением:
Рис. 5.6. Кривая Безье второго порядка
Вместе с тем не всякое изображение можно представить как совокупность простых геометрических фигур. Векторные графические изображения создают с помощью специальных программ (CorelDRAW, Inkscape) и широко используют в картографии, мультипликации, инженерной графике, при создании логотипов, схем, диаграмм — там, где важны чёткость контуров и возможность увеличения масштаба изображения без потери качества.
Ещё одним видом компьютерной графики является фрактальная графика. Термин «фрактал» (от лат. fractus — дроблёный) употребляется для обозначения объектов, обладающих свойством самоподобия, когда целое (в точности или приближённо) имеет ту же форму, что одна или более его частей (рис. 5.7).
Рис. 5.7. Примеры фрактальных изображений
В основе фрактальной графики лежит очень простая идея: бесконечное по красоте и разнообразию множество фигур можно получить из относительно простых конструкций при помощи всего двух операций — копирования и масштабирования. На компьютере построение фрактального изображения происходит путём автоматической генерации изображений по некоторым алгоритмам или формулам, хранящимся в памяти компьютера.
В наши дни теория фракталов находит широкое применение в различных областях человеческой деятельности. Помимо фрактальной живописи, фракталы используются в теории информации для сжатия графических данных, в физике и географии для правдоподобного представления моделируемых объектов, в радиоэлектронике для качественного приёма сигнала, в экономике для описания кривых колебания курсов валют и т. д.
Много интересного о фракталах вы найдёте на сайте «Элементы большой науки» (elementy.ru/posters/fractals).
В последнее время всё большую популярность приобретает трёхмерная или ЗБ-графика (от англ. three dimensions — три измерения). В ней применяются технологии создания в виртуальном пространстве объёмных моделей, которые максимально приближены к реальным объектам.
Трёхмерная графика широко используется в инженерном проектировании, компьютерном моделировании физических объектов и процессов, в мультипликации, кинематографии и компьютерных играх.
Рассмотрим процесс создания трёхмерного изображения с помощью векторной графики.
Сначала в пределах некоторого пространства координат (на сцене) размещаются отдельные объекты, составленные из геометрических объёмных тел.
Далее, на этапе каркасной аппроксимации производится разбивка всех плавных криволинейных поверхностей на треугольники — минимальные плоские фигуры. В дальнейшем поверхности обрабатываются именно как наборы треугольников, заданных координатами своих вершин.
Стадия геометрических построений поверхностей включает заполнение поверхностей, создание перспективы, учёт влияния источников света и т. д.
На заключительном этапе рендеринга происходит раскраска поверхностей, а в более сложных случаях создания профессиональных изображений — ещё и учёт свойств поверхностей при отражении и поглощении света и влияния оптической плотности окружающей среды.
В настоящее время одним из наиболее популярных 30-редакторов является Blender — свободно распространяемый пакет для создания трёхмерной компьютерной графики. Его можно найти на сайте разработчиков (www.blender.org), скачать и установить на свой компьютер. Освоить Blender помогут видеоуроки (www.youtube. com).
Анимация (от англ. animation — одушевление) — это «оживление» изображения. При анимации несколько рисунков (кадров) сменяют друг друга через заданные промежутки времени. Если кадры сменяют друг друга чаще, чем 24 раза в секунду, человеческий глаз воспринимает это как непрерывное движение. В настоящее время широкое распространение получила компьютерная анимация.
Компьютерная анимация — последовательный показ заранее подготовленных графических файлов, а также компьютерная имитация движения с помощью изменения формы объектов или показа последовательных изображений с фазами движения.
Рассмотрим основные виды компьютерной анимации. Анимация по ключевым кадрам наиболее близка к традиционной рисованной мультипликации. Прорисовку и расстановку ключевых кадров по временной шкале производит художник, а промежуточные кадры рассчитывает специальная программа.
Запись движения. Движения актёров в специальных костюмах с датчиками записываются камерами и анализируются специальным программным обеспечением. Итоговые данные о перемещении суставов и конечностей актёров применяют к трёхмерным скелетам виртуальных персонажей, чем добиваются высокого уровня достоверности изображения движения последних.
Процедурная анимация автоматически генерируется компьютером в режиме реального времени в соответствии с установленными правилами. Представляет собой симуляцию физического взаимодействия твёрдых тел; имитацию движения систем частиц, жидкостей и газов; расчёт движения персонажа под внешним воздействием и многое другое. Процедурная анимация часто используется в компьютерных играх.
Программируемая анимация. Движения анимируемых объектов программируются, например, на языке JavaScript.
В 1968 г. группой учёных под руководством советского и российского математика Н. Н. Константинова было создано одно из первых компьютерных анимированных изображений. Электронно-вычислительная машина БЭСМ-4 по специальной программе рисовала кадры мультфильма «Кошечка» (www.etudes.ru/ru/etudes/cat-animation)
.