Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Щербинин, Ефременков - Компьютерная графика.pdf
Скачиваний:
265
Добавлен:
15.05.2015
Размер:
18.21 Mб
Скачать

1)Подготовка отсечения: масштабирование; освещение; разбиение на примитивы

2)Удаление невидимых поверхностей: Z-Buffer, текстурирование; туман; прозрачность; сглаживание

Графический конвейер на стадии геометрической обработки выполняется преобразование координат (вращение, перенос и масштабирование всех объектов), отсечение невидимых частей объектов, расчет освещения, определение цвета каждой вершины с учетом всех световых источников и процесс деления изображения на более мелкие формы. Для описания характера поверхности объекта она делится на всевозможные многоугольники. Наиболее часто используется деление на треугольники и четырехугольники. Координаты объектов переводятся из вещественного в целочисленное представление для ускорения вычислений. На этапе рендеринга применяются эффекты в следующей последовательности: удаление скрытых поверхностей, наложение с учетом перспективы текстур с использованием z-буфера, применение эффектов тумана и полупрозрачности. После этого очередная точка считается готовой к помещению в буфер со следующего кадра. В отличие от геометрического этапа, зависящего от вычислительной мощности процессора, выполняющего все вычисления, этап рендеринга интенсивно использует ресурсы памяти. Для каких целей используется память, установленная на плате 3D-акселератора. В ней дополнительно хранятся текстуры, z-буфер и буфер следующего кадра.

1.8.Базовая графика

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

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

Геометрические фигуры представлены в памяти ЭВМ числовыми моделями, содержащими параметры формы и параметры положения фигуры, а также геометрические условия формирования фигуры.

В начертательной геометрии рассматриваются способы описания фигур с помощью параметров. Минимальное количество параметров,

56

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

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

Числовые модели фигур могут быть заданы аналитически в виде неявного уравнения либо параметрически в виде параметрического уравнения. Например, в случае окружности параметрами положения являются координаты xO , yO ее центра, параметром формы величина R ра-

диус. С помощью этих параметров может быть написано неявное уравнение окружности:

(x xO )2 +(y yO )2 = R2.

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

x = xC + Rcos(α);

y = yC + Rsin(α).

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

В начертательной геометрии существует понятие определителя фигуры, который состоит из частей: геометрической (в случае окружности это, например, xO , yO , R ) и алгоритмической (условие, что окружность

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

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

57

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

Мставится в соответствие упорядоченная пара чисел (х, у) ее координат.

Вводя на плоскости еще одну прямолинейную систему координат, мы ставим в соответствие той же точке М другую пару чисел (х*, у*).

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

М(х, у) в точку М* (х*, у*), координаты которой определены в той же координатной системе.

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

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

Для объединения этих преобразований вводят однородные координаты. Однородными координатами точки называется любая тройка одновременно не равных нулю чисел x1, x2, x3, связанных с заданными числами x и y определенными соотношениями.

Например, координаты точки M (х, у) записываются как M (hx, hy, h), где h является масштабным множителем.

В проективной геометрии эти координаты вводятся для устранения неопределенностей, возникающих при задании бесконечноудаленных (несобственных) элементов.

Точки в однородных координатах записываются трехэлементными вектор-строками. Матрицы преобразования должны иметь размер 3х3.

При помощи троек однородных координат и матриц третьего порядка можно описать любое аффинное преобразование плоскости.

58

1.9.Пространственная графика

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

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

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

Для получения трёхмерного изображения требуются следующие шаги:

-моделирование – создание математической модели сцены и объектов в ней;

-рендеринг – построение проекции в соответствии с выбранной физической моделью [ 4 ].

При моделировании в сцене могут участвовать следующие типы объектов:

-источники света;

-геометрические примитивы (сфера, куб, конус, а также тела, описываемые квадратными и кубическими уравнениями);

-меши (группы связанных между собой «встык» треугольников, образующих иллюзию тела или поверхности среды);

-среды (жидкости в стаканах, газы, например, воздух в атмосфере, дымы);

Есть и концептуально более сложные типы, как, например, искажения пространства или системы частиц.

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

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

59