【问题标题】:Device roll compensation on augmented reality增强现实设备滚动补偿
【发布时间】:2011-11-15 02:07:09
【问题描述】:

我正在开发一款通过 iPhone 的摄像头流执行地理定位的应用。我使用指南针来确定将图标和信息放在相机层的位置。如果我围绕偏航轴旋转设备,一切正常。

但是,当我滚动 iPhone 时,屏幕上的所有信息都会消失。那是因为当您滚动设备时,指南针的方向也会发生变化。但是,有一些应用程序,如 Layar 或 Wikitude,它们允许滚动旋转,而不会失去对相机层上视觉项目的关注。这样,这些应用程序就可以在纵向和横向之间平滑过渡。

他们是如何做到这一点的?如何补偿设备的滚动旋转以保持屏幕上的信息?

对了,ARKit框架和我有同样的问题。

谢谢。

【问题讨论】:

    标签: iphone ios augmented-reality device-orientation


    【解决方案1】:

    如果您在 2D 中,可能从相机视野和偏移航向中获取您正在计算的点就足够了,计算到屏幕中心的距离,并使用该距离作为圆的半径来做 x += r*cos, y += r*sin 以 -roll 作为角度,所以物体逆着滚动做圆周运动。然后,您只需使用变换 (CGAffineTransformMakeRotation) 对图像本身进行反旋转,以使其保持垂直。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-04
      • 2010-10-10
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      相关资源
      最近更新 更多