Главная страница / 14. Основы машинной графики: 14.2. Представление графи...

14.2. Представление графической информации

Можно выделить три класса графических изображений.

14.2.1. Растровые изображения

↑ Наверх

Компьютерное растровое изображение можно представить в виде прямоугольной матрицы, каждая ячейка которой выглядит цветной точкой. Такая матрица получила название растровой карты (bitmap), а ее единичный элемент (квадратная ячейка) называется пикселем (от английского pixel – picture element). Растровая карта представляет собой набор (массив) троек чисел: две координаты пикселя на плоскости и его цвет. При оцифровке изображения оно делится на такие крошечные ячейки, что глаз человека их не видит, воспринимая все изображение как целое. Пиксели подобны зернам фотографии и при значительном увеличении они становятся заметными (рис.14.1).

img141   img141_1

Рис.14.1. Растровое изображение и его увеличенная часть

С развитием компьютерной техники возможное разрешение увеличивается (VGA – 640×480, SVGA – 1024×768, 1280×1024, 1600×1280, 1980×1080).

Число различных значений, которые может принимать каждый элемент матрицы, равно некоторой степени числа 2. Цветные изображения могут представляться либо при помощи трех матриц (R G B), либо с помощью одной матрицы таким образом, что отдельные биты каждого элемента представляют различные цвета. Обычно для представления цвета используется 3 байта (24 бита) или 4 байта (32 бита). В последнем случае дополнительный, четвертый, байт (альфа-канал) используется для задания прозрачности слоев.

Растровое изображение ближе к фотографии, поскольку позволяет более точно воспроизводить основные характеристики фотографии: освещенность, прозрачность и глубину резкости. В настоящее время лидером среди программных пакетов обработки растровой графики является Adobe Photoshop.

Основные достоинства растровой графики

  1. Сравнительная простота создания и редактирования изображений.
  2. Легкость при выводе изображений на устройства печати и отображения.

Основные недостатки

  1. Значительный размер файла для хранений растровых изображений и соответственно – необходимость использования форматов сжатия и распаковки данных.
  2. Растровые изображения плохо поддаются масштабированию: при трансформации (увеличении, сжатии, поворотам) изображения существенно искажаются.

14.2.2. Векторные изображения

↑ Наверх

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

Основным элементом векторного изображения является геометрический объект или примитив, в качестве которого принимаются такие простые фигуры, как прямоугольник, окружность, эллипс, линия (рис. 14.2). Каждому примитиву можно назначить определенные атрибуты (свойства) – толщину и цвет линии, разнообразные цветовые заливки. Например, круг с радиусом 100 мм и центром в x = 2,25 см и y = 5 см может быть реализован командой circle(100,2250,5000).

img142

Рис. 14.2. Основные примитивы, используемые для построения векторных изображений

При изменении масштаба изображения оно не теряет своего качества. Отсюда следует и еще одно преимущество: при изменении размеров изображения не изменяется размер файла. Например, чтобы изобразить окружность на мониторе или принтере, программе векторной графики нужно задать только координаты центра окружности и ее радиус. Все точки для изображения окружности рассчитываются непосредственно перед выводом по математической формуле окружности. Наиболее часто растровые изображения получают сканированием фотографий и других изображений, использованием цифровой фотокамеры или путем «захвата» кадра видеосъемки. Векторные графические редакторы позволяют вращать, перемещать, отражать, растягивать, скашивать, выполнять основные аффинные преобразования над объектами, изменять и комбинировать примитивы в более сложные объекты. Векторная графика идеальна для простых или составных рисунков, аппаратно-независимых, не нуждающихся в фотореализме. Однако создание на основе векторной графики фотореалистичных изображений – очень трудоемкий процесс и требует особых навыков и техники.

Примеры векторных изображений приведены на рис. 14.3.

img143_1 img143_2 img143_3

Рис. 14.3. Примеры векторных изображений

В настоящее время лидерами среди программных пакетов обработки векторной графики можно назвать CorelDraw, Adobe Illustrator.

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

Основные достоинства векторной графики

  1. Удобство использования при представлении изображений, состоящих из элементов, которые могут быть разложены на простейшие геометрические объекты (линии, многоугольники, графики, текст и т.п.).
  2. Векторные данные легко масштабируются и поддаются различным видам геометрических преобразований (увеличение, сжатие, повороты).

Основные недостатки

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

14.2.3. Трехмерная графика

↑ Наверх

Трехмерная графика в отличие от двухмерной дает более реалистичное представление образов. Это вызвано тем, что мы воспринимаем мир как набор объемных объектов.

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

Конвейер – это логическая группа выполняемых последовательно вычислений, которые дают на выходе синтезируемую сцену.

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

img144

Рис. 14.4. Основные этапы графического конвейера

Описание трехмерной сцены. До начала работы геометрических преобразований следует описать трехмерную сцену, изображение которой необходимо синтезировать. Трехмерное приложение оперирует объектами, описанными в некоторой глобальной системе координат. Чаще всего здесь используется ортогональная (декартова) система координат, в которой положение каждой точки задается ее расстоянием от начала координат по трем взаимно перпендикулярным осям X, Y и Z. В глобальных координатах создаются объекты. В этом же пространстве располагаются источники освещения, а также определяется точка зрения и направление взгляда наблюдателя.

Приложение 3D-графики создает модель, в которой объекты задаются как совокупность тел и поверхностей. Тела могут иметь разнообразную форму, описанную каким-либо математическим способом. Проще всего иметь дело с многогранниками, у которых каждая грань представляет собой часть плоскости, ограниченной полигоном. Грани – обычно треугольники. Описание такого тела относительно несложно – оно состоит из упорядоченного списка вершин. Чем мельче полигоны, тем ближе аппроксимация к модели, но и тем более громоздким становится описание объекта, а следовательно, больше времени требуется на его обработку.

Стадия геометрических преобразований состоит из четырех этапов. Первый этап заключается в описании каждого объекта группой треугольников (многоугольников). Треугольники формируются на основе множества вершин, заданных приложением. Объекты, сконструированные из треугольников или многоугольников, называются каркасной (проволочной) моделью. На втором этапе выполняются модельные преобразования, такие как перенос, вращение и изменение масштаба. На третьем этапе выбираются модели освещения и вычисляется освещенность объектов. Модель освещения описывает тип используемых источников света и затем, когда определены свойства освещаемого объекта, формируется эффект освещения.

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

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

Этапы стадии рендеринга

  • Первый этап: сортировка по Z-буферу.
  • Второй этап: наложение текстурной карты на объект.
  • Третий этап: закраска треугольников.
  • На заключительном этапе рендеринга примененяется алгоритм сглаживания (антиалайзинг) для устранения эффекта дискретизации, ступенчатости изображения на границе объектов.

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

Среди программ для создания и обработки трехмерной графики один из самых популярных пакетов в России – 3D Studio Max (производитель – Discreet, ранее Kinetix). За рубежом более популярен пакет Maya – результат труда разработчиков компаний Alias, TDI и Wavefront.

Виртуальная реальность – это искусственная действительность, созданная с использованием программных и аппаратных средств.

При этом между искусственной действительностью и воспринимающим ее человеком образуется двусторонняя связь. Динамическая модель реальности создается средствами трехмерной компьютерной графики и обеспечивает взаимодействие пользователя с виртуальными объектами в режиме реального времени с эффектом его участия в конструируемых сценах и событиях. Термин «виртуальная реальность» вошел в наш лексикон в общем-то недавно (по некоторым данным, этот термин был придуман в Массачусетском технологическом институте в конце 1970-х годов, чтобы выразить идею присутствия человека в компьютерно-создаваемом пространстве). Большинство поклонников этой технологии вряд ли догадывается, что лет 25–30 назад устройства виртуальной реальности уже существовали. Это были тренажеры. Область их применения уже в те времена была достаточно обширна: подготовка танкистов, артиллеристов, моряков, подводников, космонавтов, авиадиспетчеров, операторов АЭС. Но наиболее массовыми и передовыми с технической точки зрения были и остаются авиационные тренажеры. Когда-то тренажеры и системы виртуальной реальности были по карману только крупным военным или исследовательским ведомствам. Ныне же эти средства становятся ключевым инструментом для делового успеха многих «обычных» фирм и организаций. Системы виртуальной реальности используются для научных исследований и оценки проектов в стадии разработки, в моделировании катастроф и образовании, для быстрого изготовления прототипов и фотопечати, при обучении управлению транспортом на земле, на воде, в воздухе и в космосе.