我正在尝试构建一个增强现实演示,例如这个 iPhone 应用程序: http://www.acrossair.com/acrossair_app_augmented_reality_nearesttube_london_for_iPhone_3GS.htm
但是现在我的几何/数学有点生疏了。
这是我所知道的:
如果我的 Android 手机处于横向模式(主页按钮位于左侧),则我的 z 轴指向我正在查看的方向。
通过手机的传感器,我知道我的 z 轴与北轴的角度是多少,我们将这个角度称为 theta。
如果我有一个从当前位置到我想要在屏幕上显示的点的向量,我可以计算该向量与 z 轴的角度。我们称这个角度为 alpha。
因此,根据 alpha 角度,我可以感知该点的位置,并且可以在屏幕上显示它(如“最近的地铁”应用程序)。
这是一个简单演示的基本理论(当然它与App没什么不同,但这是第一步)。
有人能给我一些关于这件事的线索吗?
[更新]
我发现这非常有趣example ,但是我需要在 xx
和 yy
轴上进行移动。有什么提示吗?
最佳答案
基础知识很简单。您需要您的位置和您的命运之间的角度(反正切)以及航向(来自手机中的数字罗盘)。请参阅这个答案:Augmented Reality movement下面有一些 Objective-C 代码,如果您来自 java,可以阅读它们。
关于math - 增强现实演示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5219963/