Как рассчитать матрицу линейного сужающегося преобразования - PullRequest
0 голосов
/ 23 февраля 2020

Мне нужно вычислить матрицу 4x4 (для OpenGL), которая может преобразовать трехмерный объект слева в один справа. Преобразование применяется только по одной оси.

desired result

РЕДАКТИРОВАТЬ:

Входные данные представляют собой заданный 3D-объект (точки), которые должны быть деформированы и единственная переменная для величины деформации.

Изображение представляет куб, спроецированный на плоскость, показывающий только соответствующие изменения. Нет изменений в оси, перпендикулярной плоскости обзора.

Относительное положение этих двух объектов не имеет значения и используется только для отображения ситуации «до и после».

1 Ответ

0 голосов
/ 25 февраля 2020

******* неправильный ответ был здесь *******

Это несколько противоположно матрице 2D перспективы с дальнейшим разделением перспективы. Итак, чтобы сделать эту «перспективную» вещь обратно, вам нужно сделать что-то противоположное делению перспективы, а затем умножить результат на инвертированную «перспективную» матрицу. И хотя матрица перспективы может быть перевернута, я понятия не имею, что является "противоположным разделению перспективы". Я думаю, что вы просто не можете сделать это с матрицами. Вам придется преобразовать координату Y каждой вершины вместо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...