- •Цели и задачи компьютерной графики
- •Растровая и векторная визуализация изображений. Основные характеристики растровых изображений
- •Аддитивная цветовая модель rgb. Кодирование цвета. Палитра
- •Графические форматы. Работа с растровыми изображениями (форматы ddb, dib, bmp – файлы)
- •Понятие об инкрементных алгоритмах растеризации. Растровое представление отрезка (вывод алгоритма). Реализация алгоритма (Листинг функции по лабораторной работе)
- •Понятие об инкрементных алгоритмах растеризации. Алгоритм построения окружности методом средней точки (вывод алгоритма). Реализация алгоритма. (Листинг функции по лабораторной работе)
- •Стиль линии (перо). Алгоритмы вывода линий
- •Стиль заполнения, кисть, текстура
- •Геометрические основы компьютерной графики. Системы координат (декартова, полярная, сферическая) и векторы. Скалярное и векторное произведение векторов
- •Построение кривых. Интерполяционный полином Лагранжа. Достоинства и недостатки. (Листинг функции для реализации полинома Лагранжа по лабораторной работе).
- •Построение кривых. Интерполяционный кубический сплайн. (Листинг функции для реализации кубического сплайна по лабораторной работе).
- •Мировые и экранные координаты. Алгоритм пересчета мировых 2d-координат в оконные. Вывод и реализация (Листинг функции SpaceToWindow)
- •15. Физическая и логическая системы координат. Режимы отображения (без настройки параметров). Алгоритм преобразования координат в gdi и его связь с алгоритмом пересчёта мировых координат в оконные
- •16. Режимы отображения и настройка их параметров (функции класса cdc mfc). Функция SetMyMode, назначение, параметры и реализация
- •17. Аффинные преобразования на плоскости. Преобразование системы координат: смещение, растяжение-сжатие, поворот
- •18. Аффинные преобразования на плоскости. Преобразование объектов: смещение, растяжение-сжатие, поворот
- •19. Аффинные преобразования в пространстве. Преобразование системы координат: смещение, растяжение-сжатие, повороты вокруг осей координат
- •20. Аффинные преобразования в пространстве. Преобразования объектов: смещение, растяжение-сжатие, повороты вокруг осей координат
- •21. Основные типы проекций. Видовая система координат (вывод матрицы преобразования)
- •22. Перспективные преобразования (вывод матрицы преобразования). Схема пересчёта координат при переходе от мировых 3d-координат к экранным
- •23. Модели описания поверхностей
- •24. Каркасная визуализация трёхмерных изображений. Принцип удаления невидимых граней для выпуклого многогранника. Реализация
- •26. Закрашивание поверхностей. Модели отражения света
- •27. Закрашивание поверхностей. Вычисление нормалей и углов отражения. Реализация
- •28. Метод закрашивания Гуро
- •30. Графическая библиотека OpenGl. Структура glut-приложения. Пример
- •31. Графическая библиотека OpenGl. Рисование графических примитивов. Дисплейные списки. Удаление нелицевых граней. Вывод текста. Примеры
- •32. Графическая библиотека OpenGl. Системы координат. Модельно-видовые преобразования. Примеры
- •33. Графическая библиотека OpenGl. Проекции. Область вывода. Создание анимации. Примеры
- •34. Графическая библиотека OpenGl. Материалы и освещение. Примеры
- •35. Графическая библиотека OpenGl. Структура приложения с использованием библиотеки mfc
17. Аффинные преобразования на плоскости. Преобразование системы координат: смещение, растяжение-сжатие, поворот
Пусть
на плоскости задана система координат
(СК)
и
точка
принадлежащая некоторому объекту.
Система координат
трансформируется
в СК
путем ряда последовательных смещений
и поворотов относительно своего исходного
состояния. При этом точка
(объект)
остается неподвижной. Необходимо
определить координаты точки
(объекта)
в системе координат
(рис. 1а, рис 1б).
|
|
Рис. 1а |
Рис. 1б |
В общем случае преобразование координат мочки при переходе от системы координат к системе координат определяется системой линейных уравнений:
,
где
Выражение (1) представляет собой аффинное преобразование координат при переходе от системы координат к системе координат .
Обратный переход от СК к СК определяется как
,
Аффинное преобразование (1) удобно представить в матричном виде:
В
компьютерной графике принято использовать
однородные
координаты, которые вводятся следующим
образом. Точке
ставится в соответствие точка
,
а точке
точка
.
Тогда переход от системы координат к системе координат в матричном виде можно записать как
или
,
где
,
,
Обратное преобразование
,
где
Параллельный сдвиг системы координат
,
Или
|
|
Рис. 2а |
Рис. 2б |
Здесь
Обратное преобразование
,
,
где
Растяжение – сжатие системы координат
Или
,
где
Обратное преобразование
,
Или
,
где
,
Поворот системы координат
|
|
Рис. 3а |
Рис. 3б |
Координаты точки в системе координат :
В системе координат :
С учетом (23), получаем:
Или
,
где
Обратное преобразование
Обратное преобразование соответствует повороту системы координат
на
угол
Или
,
где
18. Аффинные преобразования на плоскости. Преобразование объектов: смещение, растяжение-сжатие, поворот
Под преобразованием объектов будем понимать изменение координат точек, принадлежащих этому объекту при изменении его положения в некоторой системе координат.
Пусть
в системе координат
некоторая точка
перемещается
из положения
в положение
(рис.
4а, 4б) или обратно из положения
в положение
.
|
|
Рис. 4а |
Рис. 4б |
Рассмотрим частные случаи аффинных преобразований объектов.
Сдвиг объекта
|
|
Рис. 5 |
Рис. 6 |
Из рис. 5 получаем
,
Или
Здесь
Обратное преобразование
Обратное
преобразование позволяет вычислить
старые координаты объекта
по новым
,
,
где
Растяжение – сжатие объекта
Или
,
где
Обратное преобразование
,
Или
,
где
,
Поворот объекта вокруг центра координат
Координаты точки в системе координат (рис. 6):
Координаты
точки
в системе координат
:
С учетом (46), получаем:
Или
,
где
Обратное преобразование
Обратное преобразование можно получить, если представить себе поворот объекта с координатами на угол .
Или
,
где
Связь преобразований объектов с преобразованиями координат
Преобразование объектов и преобразование систем координат тесно связаны между собой. Движение объектов можно рассматривать как движение в обратном направлении соответствующей системы координат.
Такая относительность движения дает дополнительные возможности для моделирования и визуализации различных объектов.
Запишем соответствующие соотношения, основываясь на сравнении выражений (11) и (35) для сдвига
,
выражений (18) и (42) для растяжения – сжатия
выражений (27) и (51) для поворота
