首页 > 解决方案 > 获得相对于不同矩阵的翻译

问题描述

我有一个 AR 应用程序和两个摄像头识别的跟踪器。我有一个对象出现在每个对象上,它们的位置是通过转换它们的矩阵(矩阵 * trackerMatrix)来设置的。跟踪器位置变换在技术上是相对于相机的。

我想要做的是在场景中有跟踪器 A,引入跟踪器 B,跟踪器 B 上出现一个对象,然后将对象的位置更改为相对于跟踪器 A,以便跟踪器 B 可以离开场景。

我最初认为我可以制作一个向量,目标位置,然后用跟踪器 A 替换对象位置,减去向量。但我一定是错的,因为无论我如何扭曲它都不起作用。

标签: c++augmented-reality

解决方案


假设对象位置最初由 描述worldToCamera * cameraToTrackerB * objectPositionRelativeToTrackerB,则可以得到对象相对于 trackerA 的位置为currentObjectPositionRelativeToTrackerA = inv(cameraToTrackerA) * cameraToTrackerB * objectPositionRelativeToTrackerB


推荐阅读