Аффинные преобразования Графический конвейер Астана. Лекция 7.

Презентация:



Advertisements
Похожие презентации
OpenGL. Графический конвейер. Геометрические преобразования.
Advertisements

Лекция 7 Аффинные преобразования Видовые преобразования 24 февраля 2003 г. (Астана)
Компьютерная геометрия и графика. Лекция 6. План занятия: Виды проектирования. Обобщенные координаты пространства. Матричные преобразования.
19 марта 2002 г.Компьютерная графика Лекция 61 Лекция 6 Графический процесс Геометрическое моделирование Аффинные преобразования.
Виды проецирования. Центральное Параллельное Виды проецирования.
P 1 (x 1,y 1,z 1 ) P 2 (x 2,y 2,z 2 ) P 1 (X 1,Y 1 ) P 2 (X 2, Y 2 ) O (x,y,z) 0(X,Y) E.
Графический конвейер Преобразования геометрии Александр Шубин.
Тема 3D моделирование в САПР AutoCAD Построение, редактирование и представление трёхмерных объектов на плоскости и в пространстве Изометрическое черчение.
ВЕКТОРНАЯ АЛГЕБРА ВЕКТОРНАЯ АЛГЕБРА Основные определения.
Алгоритмы трёхмерной графики Геометрические преобразования.
Аксонометрические проекции. Фронтальная косоугольная диметрическая и прямоугольная изометрическая проекции.
Представление трехмерных преобразований. Представление трехмерных преобразований.
Основные сведения из математики, необходимые для понимания геометрических моделей Три главных формы математического представления кривых и поверхностей.
Компьютерная графика область деятельности, в которой компьютеры используются как инструмент для синтеза (создания) изображений, так и для обработки визуальной.
Поверхностные модели построенные по кинематическому принципу Поверхность вращения Поверхность соединения – линейчатая поверхность Поверхность перемещения.
Санкт-Петербург, 2012 г. Дисциплина: «Информатика и ИКТ» Тема занятия: «Трехмерное моделирование в системе компьютерного черчения КОМПАС» Учитель: Бантус.
Плоскость и прямая в пространстве Лекции 10, 11. Определение. Уравнением поверхности в пространстве называется такое уравнение между переменными которому.
Лекция 7 Видовые преобразования 26 марта 2002 г..
Плоскость и прямая в пространстве Лекция 10. Определение. Уравнением поверхности в пространстве называется такое уравнение между переменными которому.
Лекция 8 Аксонометрические проекции. Основные понятия и определения. Виды стандартных аксонометрических проекций Казанский государственный энергетический.
Транксрипт:

Аффинные преобразования Графический конвейер Астана. Лекция 7

На прошлой лекции Типовая схема графической обработки Геометрическое моделирование –Представление трехмерных данных в компьютере Используется декартова система координат –Трехмерная для представления объемных объектов и поверхностей Представление трехмерных данных –Каркасное («структура» объекта) –Грани и ребра (поверхность объекта) –Воксельное (объем) –Конструктивная геометрия (объем)

На лекции Типы преобразований –Нелинейные преобразования –Линейные преобразования –Аффинные преобразования –Преобразования подобия –Изометрические преобразования Классификация проективных преобразований Однородные координаты Комбинация, иерархия преобразований Графический конвейер –Локальные, мировые, экранные координаты

Что такое геометрические преобразования? Модель –Например, описание поверхности трехмерного объекта –Некоторое подмножество точек декартова пространства Какие геометрические операции можно применять к модели? Преобразование моделей – важный инструмент в геометрическом моделирование и синтезе изображений –Вспомните CSG

Типы преобразований Нелинейные преобразования Линейные преобразования –Также называются проективными –Прямые переходят в прямые Аффинные преобразования –Сохраняется параллельность линией –Пример: сдвиг Преобразование подобия –Сохраняются углы –Пример: равномерное масштабирование Изометрия –Сохраняются расстояния –Пример: поворот, перенос

Нелинейные преобразования Произвольное преобразование точек модели M=T(M)

Линейные преобразования Линейное преобразование применяется к каждой точке (вершине) модели. Не изменяет топологию!

Перенос Изометрия

Масштабирование Подобие

Поворот (2D) Изометрия

Сдвиг (2D) Аффинное преобразование

Преобразование в матричной форме

Однородные координаты Какой смысл имеет использование 4х компонент вектора? –Позволяет использовать матричную запись для всех линейных преобразований (если использовать матрицы 3x3, невозможно представить перенос) –Позволяет описать так называемой перспективное деление

Параллельный перенос

Масштабирование

Поворот (2D)

Поворот вокруг оси Z x z y

Поворот вокруг оси X x z y

Поворот вокруг оси Y x z y

Сдвиг

Наши обозначения Перенос [T a,b,c] Поворот [R theta] ([R axis, theta]) Масштабирование [S a,b,c] Сдвиг [Sh a,b,c]

Суперпозиция преобразований Записывать так Произносить так а b Повернуть вокруг центра

Произведение матриц Произведение матриц не коммутативно! AB != BA Поворот, затем перенос Перенос, затем поворот

Произведение матриц (2) Произведение матриц ассоциативно Можно перемножить матрицы и применять одно составное преобразование для всей геометрии!

Задача (1,1)(3,1) (2,2) (6,0) (4,2.5) (4,0) T(-1,-1) Sh(-1, 0) S(1,2.5) T(4,0)

Решение задачи T(-1,-1) Sh(-1, 0) S(1,2.5) T(4,0) P= T(4,0) * S(1,2.5) * Sh(-1, 0) * T(-1,-1) * P

Иерархия преобразований Составить манипулятор из трех частей

Задача 1 2 3

Позиционирование части 1 1.Поворачиваем на 1 2.Переносим на 1g

Позиционирование части 2 1.Поворачиваем на 2 2.Переносим на размер части 1 3.Поворачиваем на 1 4.Переносим на 1g

Позиционирование части 3 1.Поворачиваем на 3 2.Переносим на размер части 2 3.Поворачиваем на 2 4.Переносим на размер части 1 5.Поворачиваем на 1 6.Переносим на 1g

Результат 1 2 3

Проективные преобразования Важнейший класс преобразований Все современные дисплеи визуализируют изображение => необходимо преобразовать 3D данные в 2D ! Для выполнения таких преобразований применяются проективные преобразования. Описываются матрицей 4x4 (линейным преобразованием)

Типы проекций Много разновидностей –Применяются в дизайне и т.п. Основные виды –Параллельные Ортографические Косоугольные –Перспективные 1,2,3-х точечные

Ортографическая проекция

Изометрия

Военная проекция

Кабинетная проекция

Направление проецирования Угол между косыми проекторами и плоскостью проекции Военная проекция Кабинетная проекция Косоугольные проекции

Фотография

Перспективная проекция

Перспективная проекция и однородные координаты Применяем матрицу M per Четверная компонента не равна 1 ! –Т.е. Результат уже не в декартовых координатах. Необходима нормализация

Двухточечная проекция

Виртуальная камера Определяет положение наблюдателя в пространстве Параметры –Положение –Направление взгляда –Направление «вверх» –Матрица проекции Положение, направление взгляда и направление «вверх» задаются матрицей видового преобразования

Видовое преобразование Для чего нужно еще одно преобразование? Заметим, что проективные преобразования описывают «стандартные» проекции, т.е. проецируют фиксированную часть пространства Что если мы хотим переместить наблюдателя? –Изменить матрицу проекции чтобы включить в нее информации о камере –Применить дополнительное преобразование, «подгоняющее» объекты под стандартную камеру Стандартная камера: –Наблюдатель в (0, 0, 0) –Смотрит по направлению (0, 0, -1) –Верх (0, 1, 0)

Графический конвейер

Модельное преобразование Переводит модель, заданную в локальных (собственных) координатах, в глобальное (мировое пространство) Модель «собирается» из частей, с помощью модельных преобразований На выходе – модель в единых мировых координатах

Видовое преобразование «Подгоняет» мир под стандартную камеру, преобразует мировую систему координат в видовые координаты (которые подходят для «стандартной» камеры На выходе – модель, готовая к проекции на экран

Проективное преобразование Выполняет 3D преобразование, подготавливая модель к переходу на 2D После перспективного преобразования необходимо отбросить координату z и получить значения в оконных координатах (обычно от –1 до 1)

Проективное преобразование vs. проекция Матрица проекции вырожденная –Фактически, информация от координате z теряется Часто необходимо выполнять дополнительные действия уже ПОСЛЕ проецирования –Например, удаление невидимых линий/поверхностей –Поэтому часто (e.g. в OpenGL) используется перспективное преобразование вместо проекции Перспективное преобразование невырожденно и позволяет анализировать глубину! Перспективное преобразование преобразует некоторую область пространства в каноническую пирамиду видимости

Отсечение

Преобразование в экранные координаты Отбрасываем координату z Умножаем на высоту/ширину окна –Получаем экранные координаты

Итоги Рассмотрены геометрические преобразования –Нелинейные преобразования –Линейные преобразования (проективные) –Аффинные преобразования –Преобразования подобия –Изометрические преобразования Однородные координаты –Много применений: унификация операций с матрицами, перспективное деление и т.п. Комбинация, иерархия преобразований –Сборка модели из локальных компонент Графический конвейер: от локальной модели до точки на экране –Локальные, мировые, экранные координаты