2011-01-25 62 views
1

我想做一个应用程序,将作为一个六分仪(找到一个对象的高度)。是否可以使用加速计的数据来查找手机指向的角度?理想情况下,用户将手机置于横向位置,沿着其边缘观察角度。从加速计找到手机的角度?

回答

-1

我不认为这是可能的。手机给你的唯一数据就是加速度,随着时间的推移速度的变化。

您需要的是具有指南针功能here的手机。我认为使用这个传感器你可以实现一个六分仪的应用程序。

0

加速度计数据可以告诉你重力正在拉动什么方向,并且你可以计算出手机相对于地面保持的角度。它不可能是非常稳定或准确的,所以我不确定它会如何精确使用,就像你所描述的那样。

http://code.google.com/p/moonblink/wiki/Tricorder 这个应用程序基本上是加速度计数据和您的手机可以给你的指南针数据的一个很好的演示。我建议看看它,看传感器给你的数据是否可以用于你的想法。

0

使用方向传感器。见the SensorManager documentation

如果你还没有看到它,那么有一个名为Surveyor的应用程序,其功能类似于你之后的功能。

2

CAN使用只有加速计使用您的移动设备充当六分仪。

要找到一个结构体的高度遵循以下步骤:

  • 用户握住手机,并沿着它的结构底部边缘看起来。
    在这里他按下ButtonA。

  • 用户拿着手机,沿着其边缘看顶部的结构。
    在这里,他按下ButtonB。

当按下按钮时,您的应用需要保存加速度值。

的角度现在可以计算为:

THETA =逆余弦的(ZB/ZA)

+0

你认识到, 'ZB/ZA' 应大于1更大?因为ACos函数只接收-1和1之间的值 – ravemir 2013-03-29 18:47:33