В табл. 5.1 собраны функции геометрических преобразований и процедуры работы с матрицами OpenGL, рассмотренные в данной главе. Кроме того, в таблице ^приведено несколько функций, связанных с обсуждавшимися темами.

ЛИТЕРАТУРА

Дополнительные технологии работы с матрицами и геометрическими преобразованиями рассмотрены в сборниках [8, 122, 151, 176, 244]. Однородные координаты в компьютерной графике обсуждаются в статьях [29, 33-35].

Примеры программирования с использованием функций геометрических преобразований OpenGL разбираются в книге [400]. Примеры программирования функций геометрических преобразований под OpenGL также можно найти на Web-сайте Нейта Робинса (Nate Robins): http://www.cs.utah.edu/narobins/opengl.html. Наконец, полный перечень функций геометрических преобразований OpenGL приводится в справочнике [320].

ТАБЛИЦА 5.1.Резюме по функциям геометрических преобразований в OpenGL

Функция

Описание

glTranslate*

Задает параметры трансляции

glRotate*

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

glScale*

Задает параметры масштабирования относительно начала координат

glMatrixMode

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

glLoadldentity

Текущая матрица становится единичной

glLoadMatrix*

Задает элементы текущей матрицы

glMultMatrix*

Множит справа текущую матрицу на заданную матрицу

glGetlntegerv

Возвращает максимальную глубину стека или текущее число матриц в стеке для заданного режима

glPushMatrix

Копирует верхнюю матрицу стека и записывает копию во второй позиции стека

glPopMatrix

Удаляет верхнюю матрицу стека и помещает вторую матрицу в верх стека

glPixelZoom

Задает двухмерные параметры масштабирования для растровых операций

ГЛАВА 6

Двухмерное наблюдение

главе 2 кратко рассматривались концепции и функции двухмерного наблюдения. В данной главе мы более подробно опишем процедуры вывода на экран проекции двухмерного изображения. Обычно графический пакет позволяет пользователю задавать, какую часть определенной картины нужно отобразить на экран, и где эта часть должна располагаться на дисплее. Чтобы определить изображение, можно использовать любую удобную декартову систему координат, называемую внешней. Для двухмерного изображения проекция выбирается следующим образом: задается область плоскости ху, которая содержит все изображение или его часть. Пользователь может выбирать одну область для вывода на экран, кроме того, может одновременно изображаться несколько областей или анимированные панорамы сцены. Затем части изображения в выбранных областях отображаются в области, заданные в координатах устройства. Если выбрано несколько областей наблюдения, их можно поместить в различных местах дисплея либо ввести фрагменты в большие участки. Двухмерное преобразование наблюдения из внешних координат в координаты устройства включает трансляцию, вращение и масштабирование, а также удаление тех частей изображения, которые лежат вне границ выбранной области сцены.

ДВУХМЕРНЫЙ КОНВЕЙЕР НАБЛЮДЕНИЯ

Участок двухмерной сцены, выбранный для отображения на экране, называется отсекающим окном, поскольку все части сцены вне выбранного участка, “отсекаются”, и на экран выводится только часть сцены, которая находится внутри отсекающего окна. Иногда отсекающее окно называется окном наблюдения или смотровым окном.


⇐ вернуться назад | | далее ⇒