3D-координата 2D-точки по заданной камере и плоскости обзора

Я хочу генерировать лучи от камеры через плоскость просмотра. Чтобы сделать это, мне нужно положение моей камеры («глаз»), вверх, вправо и в направлении векторов (где направление - это вектор от камеры в направлении объекта, на который смотрит камера) и P, точка на смотровой плоскости. Как только я получу это, луч, который генерируется:

ray = camera_eye + t*(P-camera_eye);

где t - расстояние вдоль луча (пока предположим, что t = 1).

У меня вопрос, как мне получить трехмерные координаты точки P, если она расположена в положении (i, j) на плоскости обзора? Предположим, что даны верхний левый и нижний правый углы плоскости обзора.

ПРИМЕЧАНИЕ. Плоскость просмотра на самом деле не является плоскостью в том смысле, что она не распространяется бесконечно во всех направлениях. Скорее, можно думать об этой плоскости как о ширине и высоте изображения. В направлении х диапазон составляет 0 -> ширина, а в направлении у - 0 -> высота. Я хочу найти трехмерную координату (i, j) -го элемента, 0

Ответы на вопрос(3)

Ваш ответ на вопрос