Преобразования проецирования

Содержание

Слайд 2

Системы координат

Системы координат

Слайд 3

Преобразования координат

Преобразования координат

Слайд 4

Формирование изображения камерой Установить штатив и направить камеру на сцену (видовое

Формирование изображения камерой

Установить штатив и направить камеру на сцену (видовое преобразование).
Подготовить

сцену в нужной композиции (модельное преобразование).
Подобрать объектив или отрегулировать масштабирование (преобразование проекции).
Определить размер изображения (преобразование в порт просмотра).
Слайд 5

Системы координат OpenGL Правосторонняя: модельно-видовые преобразования. Левосторонняя: установка параметров проецирования. Оконная: преобразование в порт просмотра.

Системы координат OpenGL

Правосторонняя: модельно-видовые преобразования.
Левосторонняя: установка параметров проецирования.
Оконная: преобразование в порт

просмотра.
Слайд 6

Проекции

Проекции

Слайд 7

Плоские геометрические проекции объектов Плоские геометрические проекции объектов образуются пересечением прямых,

Плоские геометрические проекции объектов

Плоские геометрические проекции объектов образуются пересечением прямых, называемых

проекторами, с плоскостью, называемой центром проекции.
Проекторы – это прямые, проходящие через произвольную точку, называемую центром проекции, и каждую точку объекта.
Слайд 8

Перспективные и параллельные проекции Перспективная проекция: центр проекции расположен в конечной

Перспективные и параллельные проекции

Перспективная проекция: центр проекции расположен в конечной точке

трехмерного пространства.
Параллельная проекция: центр проекции расположен в бесконечности (проекторы параллельны).
Слайд 9

Ортографические проекции Ортографические проекции – это проекции на одну из координатных

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

Ортографические проекции – это проекции на одну из координатных плоскостей

x = 0, y = 0 или z = 0.
Слайд 10

Аксонометрические проекции Аксонометрические проекции – это проекции на плоскость, не являющуюся

Аксонометрические проекции

Аксонометрические проекции – это проекции на плоскость, не являющуюся одной

из координатных плоскостей x = 0, y = 0 или z = 0.
Триметрическая проекция строится произвольными поворотами вокруг произвольных координатных осей в произвольном порядке с последующим проецированием на плоскость z = 0.
Диметрическая проекция – это триметрическая проекция с двумя одинаковыми коэффициентами искажения и произвольным третьим коэффициентом.
Изометрическая проекция – это триметрическая проекция, в которой все три коэффициента искажения равны
Слайд 11

Триметрическая проекция

Триметрическая проекция

Слайд 12

Диметрическая проекция

Диметрическая проекция

Слайд 13

Изометрическая проекция

Изометрическая проекция

Слайд 14

Косоугольные проекции Косоугольная проекция – это проекция, которая формируется параллельными проекторами,

Косоугольные проекции

Косоугольная проекция – это проекция, которая формируется параллельными проекторами, расположенными

под косым углом к плоскости проекции.
Проекция кавалье получается когда угол между проекторами и плоскостью проекции составляет 45°.
Проекция кабине получается когда угол между проекторами и плоскостью проекции составляет arctg(1/2).
Слайд 15

Проекции кавалье и кабине

Проекции кавалье и кабине

Слайд 16

Перспективные проекции Перспективная проекция получается в результате перспективного преобразования. При перспективном

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

Перспективная проекция получается в результате перспективного преобразования.
При перспективном преобразовании параллельные

прямые сходятся, размер объекта уменьшается с увеличением расстояния до центра проекции и происходит неоднородное искажение линий объекта, зависящее от ориентации и расстояния от объекта до центра проекции.
Перспективная проекция любой совокупности параллельных прямых, которые не параллельны проекционной плоскости, будет сходиться в точке схода. Если совокупность прямых параллельна одной из главных координатных осей, то их точка схода называется главной точкой схода. Перспективные проекции классифицируются в зависимости от числа главных точек схода, которыми они обладают, т.е. от числа координатных осей, которые пересекают проекционную плоскость.
Слайд 17

Примеры перспективных проекций

Примеры перспективных проекций

Слайд 18

Общая форма однородных координат

Общая форма однородных координат

Слайд 19

Ортографическое проецирование в OpenGL

Ортографическое проецирование в OpenGL

Слайд 20

Функции ортографического преобразования void glOrtho(GLdouble l, GLdouble r, GLdouble b, GLdouble

Функции ортографического преобразования

void glOrtho(GLdouble l, GLdouble r, GLdouble b, GLdouble t,

GLdouble n, GLdouble f);
void gluOrtho2D(GLdouble l, GLdouble r, GLdouble b, GLdouble t);
// glOrtho(l, r, b, t, –1.0, 1.0);
Слайд 21

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

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

Слайд 22

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

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

Слайд 23

Функции перспективного преобразования void glFrustum(GLdouble l, GLdouble r, GLdouble b, GLdouble

Функции перспективного преобразования

void glFrustum(GLdouble l, GLdouble r, GLdouble b, GLdouble t,

GLdouble n, GLdouble f);
void gluPerspective(GLdouble angle, GLdouble aspect, GLdouble n, GLdouble f);
t = n * tg(π / 180 * angle / 2);
b = –t;
r = t * aspect;
l = –r;
Слайд 24

Пример программы … void setShape(float vAng, float asp, float nearD, float

Пример программы


void setShape(float vAng, float asp, float nearD, float farD)
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(vAng, asp,

nearD, farD);
}

setShape(30.0f, 64.0f/48.0f, 0.5f, 50.0f);