
- •Оглавление
- •Предисловие
- •1. Компьютерная графика, геометрическое моделирование и решаемые ими задачи
- •Основные понятия и определения
- •1.2. Применение интерактивной графики в информационных системах, графические диалоговые системы
- •Контрольные вопросы и задания
- •2. Представление видеоинформации и ее машинная генерация
- •2.1 Характеристики изображения
- •2.2. Растровая графика
- •2.3. Векторная графика
- •2.4. Представление цвета в компьютерной графике
- •Контрольные вопросы и задания
- •3. Форматы графических файлов
- •3.1. Сжатие изображений
- •3.2. Растровые файлы, метафайлы, графические языки
- •Контрольные вопросы и задания
- •4. Графические объекты, примитивы и их атрибуты
- •4.1.Примитивы
- •4.2. Атрибуты
- •4.3. Модели геометрического представления объектов
- •Контрольные вопросы и задания
- •5. Кривые и криволинейные поверхности
- •5.1. Представление кривых и поверхностей в явной форме
- •5.2. Неявная форма представления кривых и поверхностей
- •5.3. Параметрическая форма представления кривых и поверхностей
- •5.4. Параметрические полиномиальные кривые
- •5.5. Общая характеристика полиномиальной параметрической формы представления
- •5.6. Параметрическая непрерывность
- •5.7. Геометрическая непрерывность
- •5.8. Элементарная кубическая кривая Безье
- •5.10. Поверхности Безье
- •Контрольные вопросы и задания
- •6. Базовая графика. Аффинные преобразования
- •6.1. Однородные координаты
- •6.2. Аффинные преобразования на плоскости
- •6.3. Аффинные преобразования в пространстве
- •6.4. Пространственный поворот относительно точки
- •Контрольные вопросы и задания
- •7. Проективные преобразования
- •Контрольные вопросы и задания
- •8. Алгоритмы отсечения невидимых линий и поверхностей
- •8.1. Алгоритм Коэна-Сазерленда
- •8.2. Отсечение плоских фигур
- •8.3. Алгоритм удаления нелицевых граней
- •8.4. Алгоритм z-буфера
- •8.5. Отсечение пирамидой видимости
- •8.6. Потенциально видимые множества граней
- •8.7. Метод иерархических подсцен
- •Контрольные вопросы и задания
- •9. Растровые алгоритмы
- •9.1. Алгоритмы вывода прямой линии
- •9.2. Алгоритмы закрашивания
- •9.3. Сглаживание ступенчатости линий на изображении
- •Контрольные вопросы и задания
- •10. Свет и материя
- •10.1. Источники света
- •10.2. Модели отражения света
- •10.3. Методы тонирования поверхностей
- •Контрольные вопросы и задания
- •11. Реализация аппаратно-программных модулей графической системы
- •11.1. Архитектура графических терминалов и графических
- •11.2. Современные стандарты компьютерной графики
- •Контрольные вопросы и задания
- •12. Лабораторные работы по курсу «компьютерная графика» Лабораторная работа №1
- •Контрольные вопросы и задания
- •Лабораторная работа №2
- •Контрольные вопросы и задания
- •Лабораторная работа №3
- •Контрольные вопросы и задания
- •Лабораторная работа №4
- •Варианты заданий
- •Контрольные вопросы и задания
- •Библиографический список
- •Учебное пособие
6. Базовая графика. Аффинные преобразования
6.1. Однородные координаты
Основное применение однородных координат – это геометрические преобразования, поскольку при помощи троек однородных координат и матриц третьего порядка можно описать любое аффинное преобразование плоскости. Аналогично, с помощью четверок однородных координат и матриц четвертого порядка можно описать любое преобразование в пространстве [16, 24].
В однородных координатах точка Р(x,y) записывается как Р(Wx,Wy,W) для любого масштабного множителя W0. При этом если для точки задано ее представление в однородных координатах Р(X,Y,W), то можно найти ее двумерные декартовы координаты как x=X/W и y=Y/W.
Геометрический смысл однородных координат заключается в следующем (рис.6.1). Произвольная точка на прямой, соединяющей начало координат, точку О(0,0,0), с точкой Р'(x,y,1), может быть задана тройкой чисел вида (Wx,Wy,W). Вектор с координатами Wx,Wy,W является направляющим вектором прямой, соединяющей точки О(0,0,0) и Р'(x,y,1). Эта прямая пересекает плоскость z=1 в точке (x,y,1), которая однозначно определяет точку (x,y) координатной плоскости x,y.
Рис.6.1. Графическое представление однородных координат
Тем самым между произвольной точкой с координатами (x,y) и множеством троек чисел вида (Wx,Wy,W), W0 устанавливается взаимно однозначное соответствие, позволяющее считать числа Wx,Wy,W новыми координатами этой точки.
6.2. Аффинные преобразования на плоскости
Определение 6.1. Аффинные преобразования на плоскости - преобразования, обладающие следующими свойствами:
- любое аффинное преобразование может быть представлено как последовательность операций из числа простейших: сдвиг, растяжение/сжатие, поворот;
- сохраняются прямые линии, параллельность прямых, отношение длин отрезков, лежащих на одной прямой, и отношение площадей фигур.
Общий вид аффинного преобразования на плоскости имеет вид:
,
где , , , , , - произвольные числа.
Основные матрицы двумерных аффинных преобразований:
Матрица вращения
|
Матрица переноса |
|
|
Матрица масштабирования
|
Матрица отражения |
|
|
6.3. Аффинные преобразования в пространстве
Определение 6.2 Аффинные преобразования в пространстве - преобразования, обладающие следующими свойствами:
- любое аффинное преобразование может быть представлено как последовательность операций из числа простейших: сдвиг, растяжение/сжатие, поворот;
- сохраняются параллельность плоскостей, параллельность прямых, параллельность прямой и плоскости.
При замене тройки координат (x, y, z) на четверку (x, y, z, 1) возможно воспользоваться матричной записью в более сложных трехмерных задачах. Любое аффинное преобразование в трехмерном пространстве может по аналогии быть представлено в виде суперпозиции вращений, растяжений и переносов.
Соответственно, матрицы вращения, масштабирования и переноса в пространстве имеют вид:
,
,
,
,
.
При положительном угле производится вращение против часовой стрелки.