- •«Национальный исследовательский томский политехнический университет»
- •Введение
- •Способы представления изображений в эвм
- •Растровое представление изображений
- •Параметры растровых изображений
- •Векторное представление изображений
- •Представление изображений с помощью фракталов
- •Геометрические фракталы
- •Алгебраические фракталы
- •Системы итерируемых функций
- •Представление цвета в компьютере
- •Свет и цвет
- •Цветовые модели и пространства
- •Цветовая модель rgb
- •Субтрактивные цветовые модели
- •Модели hsv и hsl
- •Системы управления цветом
- •Графические файловые форматы
- •Растровые алгоритмы
- •Алгоритмы растеризации
- •Растровое представление отрезка. Алгоритм Брезенхейма
- •Растровая развёртка окружности
- •Кривые Безье
- •Закраска области, заданной цветом границы
- •Заполнение многоугольника
- •Методы устранения ступенчатости
- •Метод увеличения частоты выборки
- •Метод, основанный на использовании полутонов
- •Методы обработки изображений
- •Яркость и контраст
- •Масштабирование изображения
- •Преобразование поворота
- •Цифровые фильтры изображений
- •Линейные фильтры
- •Сглаживающие фильтры
- •Контрастоповышающие фильтры
- •Разностные фильтры
- •Нелинейные фильтры
- •Преобразования растровых изображений
- •Векторизация с помощью волнового алгоритма
- •Построение скелета изображения
- •Оптимизация скелета изображения
- •Сегментация изображений
- •Методы, основанные на кластеризации
- •Алгоритм разрастания регионов
- •Компьютерная геометрия
- •Двумерные преобразования
- •Однородные координаты
- •Двумерное вращение вокруг произвольной оси
- •Трехмерные преобразования
- •2. Трехмерное изменение масштаба
- •3. Трехмерный сдвиг
- •4. Трехмерное вращение
- •Проекции
- •Математическое описание плоских геометрических проекций
- •Изображение трехмерных объектов
- •Видимый объем
- •Преобразование видимого объема
- •Представление пространственных форм
- •Полигональные сетки
- •Явное задание многоугольников
- •Задание многоугольников с помощью указателей в список вершин
- •Явное задание ребер
- •Удаление невидимых линий и поверхностей
- •Классификация методов удаления невидимых линий и поверхностей
- •Алгоритм плавающего горизонта
- •Алгоритм Робертса
- •Определение нелицевых граней
- •Удаление невидимых ребер
- •Алгоритм, использующий z–буфер
- •Методы трассировки лучей
- •Алгоритмы, использующие список приоритетов
- •Алгоритм Ньюэла-Ньюэла-Санча для случая многоугольников
- •Алгоритм Варнока (Warnock)
- •Алгоритм Вейлера-Азертона (Weiler-Atherton)
- •Методы закраски
- •Диффузное отражение и рассеянный свет
- •Зеркальное отражение
- •Однотонная закраска полигональной сетки
- •Метод Гуро
- •Метод Фонга
- •Поверхности, пропускающие свет
- •Детализация поверхностей
- •Детализация цветом
- •Детализация фактурой
- •Библиотека OpenGl
- •Особенности использования OpenGl в Windows
- •Основные типы данных
- •Рисование геометрических объектов
- •Работа с буферами и задание цвета объектов
- •Задание графических примитивов
- •Рисование точек, линий и многоугольников
- •Преобразование объектов в пространстве
- •Преобразования в пространстве
- •Получение проекций
- •Задание моделей закрашивания
- •Освещение
- •Полупрозрачность. Использование α-канала
- •Наложение текстуры
- •Аппаратные средства машинной графики
- •Устройства ввода
- •Сканеры
- •Основные характеристики
- •Фирмы-производители
- •Дигитайзеры
- •Принцип действия
- •Основные характеристики
- •Фирмы-производители
- •Цифровые фотокамеры
- •Принцип действия
- •Фирмы-производители
- •Литература
- •Оглавление
- •Отпечатано в Издательстве тпу в полном соответствии с качеством предоставленного оригинал-макета
-
Математическое описание плоских геометрических проекций
Каждую из проекций можно описать матрицей 44. Этот способ оказывается удобным, поскольку появляется возможность объединить матрицу проецирования с матрицей преобразования.
Центральная (перспективная) проекция получается путем перспективного преобразования и проецирования на некоторую двухмерную плоскость «наблюдения». Перспективная проекция на плоскость Z = 0 обеспечивается преобразованием
[X Y Z H] = [x y z 1]* = [x y 0 (rz+1)].
Рис. 6.65. Вычисление одноточечной перспективы
или x* ==;
y* ==;
z* ==,
где r =.
Центр проекции находится в точке с координатами (0,0,-k) (Рис. 6 .65), плоскость проецирования Z = 0. Соотношения между x, y и x*, y* остаются теми же самыми. Рассматривая подобные треугольники, получим, что
= , или x* = ;
аналогично y* = .
Координаты x*, y* являются преобразованными координатами. В перспективном проектировании преобразованное пространство не является евклидовым, так как ортогональность осей не сохраняется. При k = получим аксонометрическое преобразование.
Аффинное преобразование есть комбинация линейных преобразований, сопровождаемых переносом.
Последний столбец в обобщенной матрице 44 должен быть равен:
,
в этом случае H = 1.
Перспективному преобразованию может предшествовать произвольная последовательность аффинных преобразований. Таким образом, чтобы получить перспективные изображения из произвольной точки наблюдения вначале используют аффинные преобразования, позволяющие сформировать систему координат с осью Z вдоль желаемой линии визирования. Затем применяется перспективное преобразование.
Аналогично перспективное преобразование, когда картинная плоскость перпендикулярна оси Z и совпадает с плоскостью Z = 1/r. Центр проекции находится в центре координат:
[X Y Z H] = [x y z 1] * = [x y z (rz+1)] — одноточечная перспектива (точка схода Z);
— точка схода X.
Двухточечная (угловая) перспектива. Для получения двухточечной перспективы в общей матрице преобразования устанавливают коэффициенты p и q:
(x', y', z', 1) = (x, y, z, 1)=[x, y, 0, (px+qu+1)];
(x', y', z', 1) = .
Такое преобразование приводит к двум точкам схода. Одна расположена на оси X в точке (, 0, 0, 1), другая на оси Y в точке (0, , 0, 1).
Рассмотрим это преобразование на получение проекции единичного куба (Рис. 6 .66).
Рис. 6.66. Единичный куб для получения двухточечной проекции
.
В результате получаем проекцию вида, представленного на Рис. 6 .67.
Рис. 6.67. Двухточечная проекция единичного куба
=[x y z (px+qy+rz+1)] — трехточечная (косая) перспектива.
Для того чтобы создать диметрическую проекцию, необходимо выполнить следующее условие:
sin2φ=sin2θ/(1- sin2θ).
Одним способом выбора sinθ является сокращение оси Z в фиксированное число раз. При этом единичный вектор на оси Z, равный [0 0 1 1], преобразовывается к виду
[X Y Z H] = [sinφ -cosφsinθ cosφcosθ 1]
или x* = sinφ;
y*= - cosφ sinθ.
Таким образом, для диметрической проекции получаем
φ = 20,705:
θ = 22,208.
Для образования изометрической проекции нужно в одинаковое число раз сократить все три оси. Для этого необходимо, чтобы выполнялось условие
sin2φ=sin2θ/(1- sin2θ) и sin2φ=(1-2sin2θ)/(1- sin2θ).
Таким образом,
φ = 35,26439;
θ = 45.
Рассмотрим теперь косоугольную проекцию (Рис. 6 .68), матрица может быть записана исходя из значений и l.
Проекцией точки P(0,0,1) является точка P(l cos, l sin, 0), принадлежащая плоскости xy. Направление проецирования совпадает с отрезком РР, проходящим через две эти точки. Это направление есть Р-Р = (l cos, l sin, -1). Направление проецирования составляет угол с плоскостью xy.
Теперь рассмотрим проекцию точки x, y, z и определим ее косоугольную проекцию (xp yp) на плоскости xy:
xp = x + z(l cos);
yp = y + z(l sin).
Таким образом, матрица 44, которая выполняет эти действия и, следовательно, описывает косоугольную проекцию, имеет вид
Мкос=.
Рис. 6.68. Вычисление косоугольных проекций
Применение матрицы Мкос приводит к сдвигу и последующему проецированию объекта: плоскости с постоянной координатой z = z1 переносятся в направлении x на z1 l cos и в направлении y на z1 l sin и затем проецируется на плоскость z = 0. Сдвиг сохраняет параллельность прямых, а также углы и расстояния в плоскостях, параллельных оси z.
Для проекции Кавалье l = 1, поэтому угол = 45. Для проекции Кабине l=½, а = arctg(2) = 63,4. В случае ортографической проекции l = 0 и = 90, поэтому матрица ортографического проецирования является частным случаем косоугольной проекции.