Вопрос

Я немного осмотрелся и не могу найти то, что ищу.Я нашел «канонические формулы», но как их лучше всего использовать?Нужно ли уменьшать каждую вершину?Или есть лучший способ?

Формула действительно могла бы мне помочь, но я также ищу объяснение о ближней и дальней плоскостях z относительно положения зрителя.

Это было полезно?

Решение

Вот разумный источник, который выводит ортогональная матрица проекта:

Учтите несколько моментов:Во-первых, в пространстве глаз ваша камера расположена на начале координат и смотрит прямо вниз по оси Z.И во-вторых, вы обычно хотите, чтобы ваше поле зрения простиралось одинаково далеко влево, как и вправо, и в равной степени намного выше оси Z, как показано ниже.Если это так, ось Z проходит непосредственно через центр объема вашего просмотра, и поэтому у вас есть r = –l и t = –b.Другими словами, вы можете забыть о R, L, T и B в целом и просто определить объем вашего представления с точки зрения ширины W и высоты H, а также другие ваши вырезок F и N.Если вы сделаете эти замены в орфографическую проекционную матрицу выше, вы получите эту довольно упрощенную версию:

Все вышеперечисленное дает вам матрицу, которая выглядит следующим образом (при необходимости добавьте вращение и перемещение, если вы хотите, чтобы полученная матрица преобразования обрабатывала произвольное положение и ориентацию камеры).

A LaTeX rendering of the orthographic projection matrix
(источник: codeguru.com)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top