2017-02-15 56 views
1

У меня возникли проблемы с пониманием того, почему преобразование координаты Z в орфографической проекции происходит так, как в правой системе координат.Проблема с осью Z в ортографической проекции

Функция «» для Z с использованием матрицы всех использует это:

f(z) = -2*z/(far-near) - (far+near)/(far-near) 

Насколько я знаю, как орфографическая проекция работы является то, что он должен сопоставить левый/правый, верх/низ, около/дальние координаты до 1/-1.

Но если подставить ближнего и дальнего координаты в мы получим:

f(far) = -2*far/(far-near) - (far+near)/(far-near) = (-3*far - near)/(far - near) 
f(near) = -2*near/(far-near) - (far+near)/(far-near) = (-far - 3*near)/(far-near) 

, которые в большинстве случаев не будет возвращать -1 и +1.

В принципе, мое предположение состояло бы в том, что вся функция должна быть отброшена (по сравнению с вычислением координат X и Y), но вместо этого часть «перевода» остается неизменной.

ответ

2

Значения near и far на самом деле являются расстояниями до соответствующих плоскостей отсечения глубины и, таким образом, являются положительными. Рамка координат для рассмотрения - (e_x, e_y, e_z) с e_x, указывающая направо, e_y направленная вверх и e_z направленная к камере/глазу. В этой системе координат координаты z плоскостей отсечения глубины в конечном итоге составляют -near и -far, которые делают математику проверкой, как вы заметили.

+0

Хорошо, я не понял, что на самом деле мне пришлось отображать негативы. Я переделал математику на бумаге и дал правильные результаты. Благодарю. –

 Смежные вопросы

  • Нет связанных вопросов^_^