Теория компьютерной графики

1





1 ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ

ОСНОВНЫЕ ПОНЯТИЯ

Самая важная функция компьютера – обработка информации. Особо можно выделить обработку информации, связанную с изображениями. Она разделяется на три основных направления: обработка изображений,  распознавание изображений и компьютерная графика (КГ).

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

Для распознавания изображений основная задача – получение описания изображенных объектов. Методы и алгоритмы распознавания разрабатывались, прежде всего, для обеспечения зрения роботов и для систем специального назначения. Но в последнее время компьютерные системы распознавания изображений все чаще используются и повседневной жизни человека, например, офисные системы распознавания текста, создание трехмерных моделей человека.

Задача КГ – визуализация, т.е. создание изображения. Визуализация выполняется исходя из описания (модели) того, что нужно отображать. Существует много методов и алгоритмов визуализации, которые различаются между собой в зависимости от того, что  и как отображать (например, отображение графика функции, диаграммы, карты или схемы или отображение реальной трехмерной сцены в играх, художественных и мультипликационных фильмах, в системах архитектурного проектирования). 

Мы будем изучать основные алгоритмы КГ.

Итак, что такое КГ?

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

Результат данной деятельности также называется компьютерной графикой

Области применения КГ:

Графический интерфейс пользователя: основывается на представлении всех доступных пользователю системных объектов и функций в виде графических компонентов экрана;

Спецэффекты, цифровая кинематография;

Компьютерные игры;

Цифровая фотография и цифровая обработка изображений

Системы автоматизированного проектирования



Существует два класса КГ:  двухмерная и трехмерная графика

Двухмерная (2D) компьютерная графика -  создание и обработка цифровых изображений, полученных, как правило, на основе двухмерных моделей (двухмерных геометрических примитивов, текста и цифровых изображений).

Применение:

Типография

Картография

Технические чертежи

Издательское дело

Компьютерные игры

Графический интерфейс пользователя

Программы для создания  и обработки 2D-изображений и анимации:

Adobe Photoshop

Corel Draw

Macromedia (в настоящее время, Adobe) Flash

Adobe Illustrator



Что такое трехмерная (3D) графика?

Статические и динамические компьютерные изображения, создаваемые при помощи компьютера, которые передают эффект трехмерности изображаемых объектов

Процесс создания таких изображений

Область изучения методик создания трехмерных изображений и связанные с ними технологии

Особенности трехмерной графики:

Трёхмерное изображение отличается от плоского построением геометрической проекции трёхмерной модели сцены на экране компьютера или иного графического устройства с помощью специализированных программ

При этом модель может как соответствовать объектам из реального мира (автомобили, здания, ураган, астероид), так и быть полностью абстрактной (проекция 4х-мерного фрактала)

Программы для создания и обработки 3D-графики:

3D Studio Max

Maya

Lightwave

Poser

Pov-Ray

Отличия от двухмерной графики

Трехмерное представление геометрических данных хранится в памяти компьютера с целью получения в последствии набора двухмерных изображений

Данный процесс может занимать как длительное время, так и происходить в реальном времени

В современных графических программах эти различия постепенно стираются:

2D-приложения применяют алгоритмы трехмерной графики для достижения определенных эффектов, например качественного освещения

3D-приложения, напротив, применяют чисто 2D-технологии, например, для постобработки полученных изображений





Наиболее известны два способа визуализации: растровый и векторный.

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

Пиксель (англ. Pixel – PICture’S Element) - это мельчайшая единица изображения в растровой графике.

Представляет собой неделимый объект прямоугольной (квадратной) формы, обладающий определенным цветом, градацией серого или прозрачностью

От количества пикселей в изображении зависит его детализация 

Вместе пикселы образуют растр.

Достоинства:

Растровые изображения позволяют воспроизвести практически любой рисунок вне зависимости от его сложности с высокой реалистичностью

Высокая распространенность

Недостатки:

Большой объем данных, необходимых для хранения информации об изображении в файле или при передаче по сети

Потери качества изображения при его увеличении, вызванные дискретной природой изображения



Векторная визуализация основывается на формировании изображения на экране или бумаге рисованием линий (векторов) – прямых или кривых. 

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

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

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



Типичная последовательность действий при векторной визуализации для плоттера или векторного дисплея такова: переместить перо в начальную точку (для дисплея – отклонить пучок электронов); опустить перо (увеличить яркость луча); переместить перо в конечную точку; поднять перо (уменьшить яркость луча).

Достоинства

Для описания геометрических объектов, как правило, требуется меньше данных, поэтому векторные изображения зачастую имеют меньший размер, нежели растровые

Векторные изображения можно поворачивать, масштабировать и деформировать без потерь

Недостатки: Не всякое изображение можно адекватно представить в виде набора примитивов, в частности – фотореалистичные изображения



Растровая визуализация ассоциируется с такими графическими устройствами, как дисплей, телевизор, принтер.  А векторная  используется в векторных дисплеях, плоттерах. Наиболее удобно, когда способ описания графического изображения соответствует способу визуализации. Иначе нужна конвертация. Например, изображение может храниться в растровом виде, а его необходимо вывести (визуализировать) на векторном устройстве. Для этого нужна предварительная векторизация – преобразование из растрового в векторное описание. Или наоборот, описание изображения может быть в векторном виде, а нужно визуализировать на растровом устройстве – необходима растеризация.