Какая математика стоит за 3D рекламными щитами? (было: матрица 3D преобразования в 2D матрицу)

У меня есть 3D-точка в пространстве. Точная ориентация / положение точки выражается черезМатрица преобразования 4х4.

Я хочу нарисоватьрекламный щит (3D Sprite) к этому моменту.Я знаю предполагаемую позицию (т.е. 3D-> 2D) точки; рекламный щит стоит перед камерой, так что это тоже очень полезно.То, что я не знаю, - это масштаб, который должен иметь рекламный щит!

Чтобы сделать вещи более сложными,Матрица 4х4 может иметь все виды преобразований: трехмерное вращение, трехмерное масштабирование, трехмерное перемещение. Предположим, что камера настолько проста, насколько это возможно: положение в (0,0,0), без поворота.

Итак, могу ли я «извлечь» масштабирование спрайта рекламного щита из этой матрицы 4x4?

-БЫЛ:

У меня 3D матрица аффинного преобразования 4х4. Мне нужно преобразовать его (проект) в 2D-матрицу аффинного преобразования 3х3, которая выглядит следующим образом:

3D повороты не имеют значения и могут быть отброшены; Меня интересует только перевод и самое главное масштабирование.

Может ли кто-нибудь помочь с уравнениями для каждого изшесть 4 ценности? (скажемtx, тy тоже известны)

Дополнительная информация:

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

Я знаю, как проецировать трехмерную точку в двухмерное пространство, и мне нужно сохранить дополнительную информацию о преобразовании за пределами позиции, т.е.пересчет: как вы знаете,пересчет свойство также изменяется при проецировании точки на 2D-плоскость.

Я также забыл упомянуть, чтоперспективная проекция свойства также известны, т.е.

field of view (single value)
focal length (single value)
projection center (viewpoint position - 2D value)

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

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