Проблема с 3D-проекцией? - PullRequest
2 голосов
/ 09 сентября 2011

Я пытался создать программное обеспечение для 3D-рендеринга (просто пытался в целях обучения), поэтому, когда я читаю эту статью: http://en.wikipedia.org/wiki/3D_projection#Perspective_projection Я запутываюсь с Частью О (e), которая является позицией зрителя относительнона поверхность дисплея, и я не понимаю, что это значит или как я могу рассчитать его, поэтому, пожалуйста, помогите и скажите мне разницу между ним и положением камеры

Заранее спасибо,

ОмарЭмад Элдин

1 Ответ

2 голосов
/ 09 сентября 2011

Если вы простите мне открытие копией и вставкой, e - это позиция зрителя относительно поверхности дисплея. Так что в случае компьютерной графики это вектор от определенной точки на экране (центр проекции, наиболее полезный) до человека, смотрящего на экран (которого мы притворяемся, это одна точка).

Обычно вы не можете рассчитать его, потому что даже если вы предполагаете, что на экран смотрит только один человек, вы, вероятно, знаете, где он сидит. Иногда вы можете отслеживать глаза через веб-камеру или что-то подобное, но обычно вы не можете.

Если у вас есть точка (x, y, z) относительно камеры, большинство библиотек просто выполняют следующие вычисления, чтобы определить, куда поместить точку в пространстве экрана:

x' = (half width of viewport) * x / z
y' = (half height of viewport) * y / z

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

...