CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 1 Математика в компьютерной графике URL:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 2 Базовые понятия свободные векторы, радиус векторы, операции с векторами, скалярное и векторное произведение векторов (vector dot & cross production) базис, координаты, декартова система координат матрицы, операции с матрицами, обращение матриц
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 3 Преобразования (transformations) Аффинные Перспективные Билинейные
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 4 Аффинные преобразования Параллельный перенос (translation)
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 5 Аффинные преобразования Масштабирование (scaling)
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 6 Аффинные преобразования Сдвиг (shearing)
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 7 Аффинные преобразования Масштабирование (scaling)
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 8 Аффинные преобразования Поворот относительно начала координат (rotation) r
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 9 Матричная запись аффинных преобразований Перепишем в матричном виде общую запись аффинных преобразований:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 10 Однородные координаты (homogeneous) представим координаты на плоскости (2D) трехкомпонентной вектор - строкой: будем полагать w = 1 перепишем преобразование в общем виде:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 11 Матричный вид аффинных преобразований ~ translation ~ shear by x ~ shear by y ~ rotation ~ scaling
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 12 Композиция преобразований подвергнем точку последовательным преобразованиям системы координат: перепишем: в силу ассоциативности:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 13 Обратные аффинные преобразования
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 14 Преобразование точек, векторов и нормалей точка (радиус-вектор) (p): вектор (v) и нормаль (n) (только направление): преобразования:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 15 Преобразование нормалей
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 16 Нотации записи: столбец или строка Одно преобразование: Композиция преобразований:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 17 Пример: привязка систем координат заданы точки соответствия найти «матрицу перехода»
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 18 Пример: привязка систем координат
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 19 Пример: преобразование изображений Поворот и масштабирование => Прямое отображение (direct mapping) =>
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 20 Пример: warping (1) Регулярная сетка для областей соответствия
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 21 Пример: warping (2) Аффинные преобразования Билинейные преобразования Перспективные преобразования
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 22 Пример: warping (3) Аффинные преобразования Билинейные преобразования Перспективные преобразования
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 23 Пример: morphing morphing = warping + интерполяция цвета
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 24 Перспективные преобразования
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 25 Привязка с перспективным преобразованием (1) общая формула: прямое отображение: полагаем w =1, итоговая формула для координат:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 26 Привязка с перспективным преобразованием (2) получаем матрицу обратного отображения определитель присутствует и в числителе и в знаменателе – вычислять не нужно: находим присоединенную матрицу:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 27 Привязка с перспективным преобразованием (3) Задача привязки: по 4 точкам соответствия определить матрицу перехода:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 28 Привязка с перспективным преобразованием (4) запишем зависимость (выразим координаты x и y ): выпишем в матричной форме 8 уравнений:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 29 Привязка с перспективным преобразованием (5) для упрощения задачи переход ищем из единичного квадрата: получаем:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 30 Привязка с перспективным преобразованием (6) обозначаем: и находим решение:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 31 Аффинные преобразования в пространстве Аналогично случаю 2D вводим однородные координаты: и преобразования в общем случае:
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 32 Матрицы 3D преобразований (перенос, масштаб) ~ translation ~ scaling
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 33 Матрицы 3D преобразований (поворот вокруг осей) ~ rotation
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 34 Матрицы 3D преобразований (поворот вокруг оси) Поворот вокруг произвольной оси, проходящей через начало координат. Ось задается нормированным радиус вектором. Вывод через кватернионы (самостоятельно). ~ rotation
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 35 Пример: построение матрицы камеры (1) камера задается: позиция С и векторы направление «вверх» V, «враво» U и вперед N. ищем преобразование в виде «перенос+поворот»: где
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 36 Пример: построение матрицы камеры (2) после преобразования вектора отобразятся: т.е.
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 37 Пример: построение матрицы камеры (3) зная находим
CG Math Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 38 Практические задания –Реализовать warping изображения (срок – ): все изображение трансформируется билинейным преобразованием (один элемент соответствия) Изображение разделяется на треугольники – зоны соответствия. Искажение получается в соответствии с изменением сетки треугольников.