【发布时间】:2019-09-19 10:05:52
【问题描述】:
我有 2 个Pose 代表相机的 2 个位置,我想知道它们的方位角之间的差异。
较旧的姿势是从具有较旧相机姿势的锚设置中检索的,因此我不应该从 ARCore 的世界理解更新中得到错误。
从当前帧检索较新的姿势。
我尝试使用wikipedia中的这个公式:
psi = atan2(
2*(qw*qz + qx*qy),
1-2*(qy*qy + qz*qz)
)
然后我用新的角度减去旧的角度,没有成功:当我移动手机只修改俯仰角度时,我得到的结果也不同。
我认为它不起作用,因为它假定 +Z 是垂直轴,而 +Y 是 ARCore 中的垂直轴。所以我旋转了公式中的轴,使垂直轴为 Y :
psi = atan2(
2*(qw*qy + qz*qx),
1-2*(qx*qx + qy*qy)
)
它仍然不起作用,仅当我更改音高时结果仍然会有所不同。显然这不是正确的转变。
如何计算相机 2 个姿势之间的方位角差?
这实际上可能是数学堆栈交换的问题,但我不确定我是否误解了 ARCore 或数学,所以在这里。
【问题讨论】:
标签: java android augmented-reality arcore