获取相对于不同矩阵的翻译
Getting a translate relative to a different matrix
我有一个增强现实应用程序,以及两个被摄像头识别的追踪器。我有一个对象出现在每个对象上,它们的位置是通过转换它们的矩阵 (matrix * trackerMatrix) 来设置的。跟踪器位置变换在技术上是相对于相机的。
我想做的是在场景中添加跟踪器 A,引入跟踪器 B,一个对象出现在跟踪器 B 上,然后将对象的位置更改为相对于跟踪器 A,因此跟踪器 B可以离开现场。
我最初认为我可以制作一个矢量,目标 - 位置,然后用跟踪器 A 替换对象位置,减去矢量。但我一定是错的,因为无论我如何扭曲它都不起作用。
假设物体位置初始描述为worldToCamera * cameraToTrackerB * objectPositionRelativeToTrackerB
,则可以得到物体相对于trackerA的位置为currentObjectPositionRelativeToTrackerA = inv(cameraToTrackerA) * cameraToTrackerB * objectPositionRelativeToTrackerB
.
我有一个增强现实应用程序,以及两个被摄像头识别的追踪器。我有一个对象出现在每个对象上,它们的位置是通过转换它们的矩阵 (matrix * trackerMatrix) 来设置的。跟踪器位置变换在技术上是相对于相机的。
我想做的是在场景中添加跟踪器 A,引入跟踪器 B,一个对象出现在跟踪器 B 上,然后将对象的位置更改为相对于跟踪器 A,因此跟踪器 B可以离开现场。
我最初认为我可以制作一个矢量,目标 - 位置,然后用跟踪器 A 替换对象位置,减去矢量。但我一定是错的,因为无论我如何扭曲它都不起作用。
假设物体位置初始描述为worldToCamera * cameraToTrackerB * objectPositionRelativeToTrackerB
,则可以得到物体相对于trackerA的位置为currentObjectPositionRelativeToTrackerA = inv(cameraToTrackerA) * cameraToTrackerB * objectPositionRelativeToTrackerB
.