Матрица проецирования
Вначале вы задаете режим работы с матрицей проецирования — комада glMatrixMode(GL_PROJECTION); Затем вы даете команду генерации одной из матриц проецирования. Ниже приведены команды и матрицы, генерируемые с их помощью. glOrtho (l, r, b, t, n, f); glFrustum (l, r, b, t, n, f);
glPerspective (a, k, n, f); Буквы l, t, r, b, n и f в этих формулах обозначают границы (left, top, right, bottom, near, far) frustum'а. Левая (left), верхняя (top), правая (right), нижняя (bottom), ближняя (near) и дальняя (far) границы frustum'а. Рассмотрим, что происходит с кватернионом при воздействии на него матрицы glOrtho (l, r, b, t, n, f) — ортографического проецирования Для того, чтобы оценить результат воздействия матрицы проецирования на вектор надо подставить вместо x, y, z некоторые граничные значения и отбросить четвертую координату, которая выполняет вспомогательную роль. Например, если вершина находится на правой границе области нормирования (x = right) и в ее центре по вертикали то, подставив вместо вектор получим вектор , который расположен на правой границе двухмерного нормированного пространства. Подставив x, соответствующий левой границе области нормирования, x = left, получим вектор . Эти векторы задают координаты точек двухмерного нормированного пространства. Третья координата выполняет вспомогательную роль (такую же, какую выполняла четвертая координата в трехмерном пространстве). В качестве упражнения подставьте координаты точек, расположенных на нижней и верхней границах области нормирования: и и убедитесь, что они преобразуются в векторы и .
|