Получите Pure View Matrix в Vuforia

Я использую Vuforia SDK для создания своего приложения дополненной реальности. Используя trackableResult->getPose(), я могу получить матрицу представления модели маркера целевого кадра. Но мне также нужна матрица чистого вида для некоторых вычислений. Есть ли способ получить его?


person kobunketsu    schedule 15.03.2015    source источник


Ответы (2)


В дополнение к комментарию Пиди выше, вот изображение, которое я нашел чрезвычайно полезным, на которое ссылается этой веб-страницы.

Извините, я не мог оставить это как комментарий, но они не разрешают изображения в комментариях.

Различные пространства и матрицы преобразования

Обратите внимание, что в разных текстах могут использоваться немного разные имена для каждого пробела, но общая идея должна быть одинаковой!

person Pixel    schedule 12.05.2015

Мое первое знакомство с OpenGL было фактически с Vuforia два месяца назад, и теперь я пришел к выводу, что имена переменных Vuforia в их примерах сбивают с толку.

Я изменил название того, что они называют «modelViewMatrix_Vuforia», на «viewMatrix», потому что это действительно так. Он преобразует точки из мирового пространства в пространство взгляда/пространство глаза.

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

Но если ваши модели импортированы (например, мои сделаны с помощью Blender), то они, вероятно, определены в пространстве модели с началом в их собственном центре масс. В этом случае вам нужна матрица модели, чтобы разместить их вдали от начала координат, иначе все ваши модели будут наложены друг на друга.

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

person peedee    schedule 07.05.2015
comment
Я согласен с вашим пониманием в вашем 3-м абзаце. Я разместил отличную картинку, демонстрирующую различные матрицы и пространства. Я не мог оставить комментарий, так как изображения не поддерживаются. - person Pixel; 12.05.2015
comment
Знаете, я тоже думаю, что это не просто матрица просмотра. Матрица чистого вида видит только то, что видно в мире с камеры — она не ПЕРЕМЕЩАЕТ/ПЕРЕВОДИТ мир оттуда, где он был. ModelViewMatrix Vuforia фактически переводит мир из его исходного положения в центр маркера (там, где маркер в данный момент виден с камеры). - person aasu; 15.03.2016