Однородные координаты
Преобразования переноса, масштабирования и поворота записываются в матричной форме в виде
,
,
.
Очевидно, что перенос, в отличие от масштабирования и поворота, реализуется с помощью сложения. Это обусловлено тем, что вводить константы переноса внутрь структуры общей матрицы размером 22 не представляется возможным. Желательным является представление преобразований в единой форме – с помощью умножения матриц. Эту проблему можно решить за счет введения третьей компоненты в векторы точек и , т. е. представляя их в виде и . Матрица преобразования после этого становится матрицей размером 32:
.
Это необходимо, поскольку число столбцов в матрице, описывающей точку, должно равняться числу строк в матрице преобразования для выполнения операции умножения матриц. Таким образом,
,
откуда следует, что константы т, п вызывают смещение х* и y* относительно х и у. Поскольку матрица 32 не является квадратной, она не имеет обратной матрицы. Эту трудность можно обойти, дополнив матрицу преобразования до квадратной размером 33. Например,
.
Заметим, что третья компонента векторов положения точек не изменяется при добавлении третьего столбца к матрице преобразования. Используя эту матрицу в соотношении, получаем преобразованный вектор [х* у* 1]. Добавление третьего элемента к вектору положения и третьего столбца к матрице преобразования позволяет выполнить смещение вектора положения. Третий элемент здесь можно рассматривать как дополнительную координату вектора положения. Итак, вектор положения [х у 1] при воздействии на него матрицы 33 становится вектором положения в общем случае вида [X Y Н]. Представленное преобразование было выполнено так, что [X Y Н] = [х* у* 1].
Преобразование, имеющее место в трехмерном пространстве, в нашем случае ограничено плоскостью, поскольку H = 1. Если, однако, третий столбец матрицы преобразования Т размера 3 х 3 отличен от 0, то в результате матричного преобразования получим [х у 1] =[Х Y Н], где Н 1.
Плоскость, в которой теперь лежит преобразованный вектор положения, находится в трехмерном пространстве. Однако сейчас нас не интересует то, что происходит в трехмерном пространстве.
Итак, найденные х* и у* получены с помощью пучка лучей, проходящих через начало координат. Результат преобразований показан на Рис. 6 .53.
Рис. 6.53. Геометрическое представление однородных координат
Из рассмотрения подобных треугольников видно, что и . Рассматривая три компоненты, запишем это в виде
.
Представление двумерного вектора трехмерным или в общем случае n-мерного вектора (п + 1)-мерным называют однородным координатным воспроизведением. При однородном координатном воспроизведении n-мерного вектора оно выполняется в (п + 1)-мерном пространстве, и конечные результаты в n-мерном пространстве получают с помощью обратного преобразования. Таким образом, двумерный вектор [х у] представляется трехкомпонентным вектором . Разделив компоненты вектора на однородную координату h, получим
и .
Не существует единственного однородного координатного представления точки в двумерном пространстве. Например, однородные координаты (12, 8, 4), (6, 4, 2) и (3, 2, 1) представляют исходную точку [3 2]. Для простоты вычислений выбираем [х у 1], чтобы представить непреобразованную точку в двумерных однородных координатах. Преобразование
в дополнительных координатах задается выражением в однородных координатах в виде
.
Выполнение указанных выше преобразований показывает, что Х = х*, Y = у*, а Н = 1. Равенство единице дополнительной координаты означает, что преобразованные однородные координаты равны исходным координатам.
В общем случае Н 1, и преобразованные обычные координаты получаются за счет нормализации однородных координат, т. е.
и .
Геометрически все преобразования х и у происходят в плоскости Н = 1 после нормализации преобразованных однородных координат.
Преимущество введения однородных координат проявляется при использовании матрицы преобразований общего вида порядка 33
,
с помощью которой можно выполнять и другие преобразования, такие как смещение, операции изменения масштаба и сдвига, обусловленные матричными элементами а, b, с и d. Указанные операции рассмотрены ранее.
Чтобы показать воздействие третьего столбца матрицы преобразований 33, рассмотрим следующую операцию:
;
здесь Х = х, Y = у, а Н = рх + qy + 1. Переменная Н, которая определяет плоскость, содержащую преобразованные точки, представленные в однородных координатах, теперь образует уравнение плоскости в трехмерном пространстве.
Это преобразование показано на Рис. 6 .54, где линия АВ, лежащая в плоскости ху, спроектирована на линию CD плоскости рХ + qY —Н + 1 = 0.
Рис. 6.54. Преобразование отрезка в однородных координатах
На рисунке величина р = q = 1.Выполним нормализацию для того, чтобы получить обычные координаты:
,
Полагая р = q = 1, для изображенных на рисунке точек А и В с координатами соответственно (1, 3) и (4, 1) получим
и .
После преобразования А в С* и В в D* имеем
и .
Однородные координаты для точек С* и D*, показанные на рисунке, соответственно равны и .
Результатом нормализации является перевод трехмерной линии CD в ее проекцию C*D* на плоскость Н = 1. Как показано на рисунке, центром проекции является начало координат.
Основная матрица преобразования размером 33 для двумерных однородных координат может быть подразделена на четыре части:
.
Как мы видим, а, b, с и d осуществляют изменение масштаба, сдвиг и вращение; т и п выполняют смещение, а р и q — получение проекций. Оставшаяся часть матрицы, элемент s, производит полное изменение масштаба. Чтобы показать это, рассмотрим преобразование
Здесь Х = х, Y = у, а Н = s. Это дает х* = x/s и y* == y/s. В результате преобразования [х у 1 ] —> [x/s y/s 1] имеет место однородное изменение масштаба вектора положения. При s < 1 происходит увеличение, а при s > 1 — уменьшение масштаба.
- «Национальный исследовательский томский политехнический университет»
- Введение
- Способы представления изображений в эвм
- Растровое представление изображений
- Параметры растровых изображений
- Векторное представление изображений
- Представление изображений с помощью фракталов
- Геометрические фракталы
- Алгебраические фракталы
- Системы итерируемых функций
- Представление цвета в компьютере
- Свет и цвет
- Цветовые модели и пространства
- Цветовая модель rgb
- Субтрактивные цветовые модели
- Модели hsv и hsl
- Системы управления цветом
- Графические файловые форматы
- Растровые алгоритмы
- Алгоритмы растеризации
- Растровое представление отрезка. Алгоритм Брезенхейма
- Растровая развёртка окружности
- Кривые Безье
- Закраска области, заданной цветом границы
- Заполнение многоугольника
- Методы устранения ступенчатости
- Метод увеличения частоты выборки
- Метод, основанный на использовании полутонов
- Методы обработки изображений
- Яркость и контраст
- Масштабирование изображения
- Преобразование поворота
- Цифровые фильтры изображений
- Линейные фильтры
- Сглаживающие фильтры
- Контрастоповышающие фильтры
- Разностные фильтры
- Нелинейные фильтры
- Преобразования растровых изображений
- Векторизация с помощью волнового алгоритма
- Построение скелета изображения
- Оптимизация скелета изображения
- Сегментация изображений
- Методы, основанные на кластеризации
- Алгоритм разрастания регионов
- Компьютерная геометрия
- Двумерные преобразования
- Однородные координаты
- Двумерное вращение вокруг произвольной оси
- Трехмерные преобразования
- 2. Трехмерное изменение масштаба
- 3. Трехмерный сдвиг
- 4. Трехмерное вращение
- Проекции
- Математическое описание плоских геометрических проекций
- Изображение трехмерных объектов
- Видимый объем
- Преобразование видимого объема
- Представление пространственных форм
- Полигональные сетки
- Явное задание многоугольников
- Задание многоугольников с помощью указателей в список вершин
- Явное задание ребер
- Удаление невидимых линий и поверхностей
- Классификация методов удаления невидимых линий и поверхностей
- Алгоритм плавающего горизонта
- Алгоритм Робертса
- Определение нелицевых граней
- Удаление невидимых ребер
- Алгоритм, использующий z–буфер
- Методы трассировки лучей
- Алгоритмы, использующие список приоритетов
- Алгоритм Ньюэла-Ньюэла-Санча для случая многоугольников
- Алгоритм Варнока (Warnock)
- Алгоритм Вейлера-Азертона (Weiler-Atherton)
- Методы закраски
- Диффузное отражение и рассеянный свет
- Зеркальное отражение
- Однотонная закраска полигональной сетки
- Метод Гуро
- Метод Фонга
- Поверхности, пропускающие свет
- Детализация поверхностей
- Детализация цветом
- Детализация фактурой
- Библиотека OpenGl
- Особенности использования OpenGl в Windows
- Основные типы данных
- Рисование геометрических объектов
- Работа с буферами и задание цвета объектов
- Задание графических примитивов
- Рисование точек, линий и многоугольников
- Преобразование объектов в пространстве
- Преобразования в пространстве
- Получение проекций
- Задание моделей закрашивания
- Освещение
- Полупрозрачность. Использование α-канала
- Наложение текстуры
- Аппаратные средства машинной графики
- Устройства ввода
- Сканеры
- Основные характеристики
- Фирмы-производители
- Дигитайзеры
- Принцип действия
- Основные характеристики
- Фирмы-производители
- Цифровые фотокамеры
- Принцип действия
- Фирмы-производители
- Литература
- Оглавление
- Отпечатано в Издательстве тпу в полном соответствии с качеством предоставленного оригинал-макета