0

您如何计算手机旋转的量?,其中“零度”是您指定的。

例如,假设您将手机平放在面前的桌子上,纵向放置 - 我们称之为“零度”。

您将手机向右旋转,使其现在是横向的(手机顶部指向右侧)——即“90 度”。

在这个旋转过程中,手机会旋转 20、30、40 等度

到目前为止,我发现检测手机旋转的方法是通过加速度计和指南针,即“ getAzimuth()”。但是,“零度”始终是北。

有没有办法计算与基本方向无关的手机旋转?

笔记:

  • 使用 libgdx,尽管传感器行为不应该有太大差异
  • " getRotation()" 似乎能够确定 0、90、270 度的旋转,但不能确定两者之间的值
  • 我使用的手机没有陀螺仪,理想的解决方案也不需要陀螺仪

谢谢 :)

4

2 回答 2

2

您可以计算任意两个向量之间的角度。如果其中一个指向北方(方位角为 0) - 这只是一种特殊情况。您可以选择任何其他角度作为基础,然后从下一次测量中减去它。

没有办法告诉手机有 0 方位角不指向北方。顺便说一句,“旋转”是关于屏幕方向的,这是移动旋转的副产品。

于 2012-12-18T13:19:32.303 回答
0

检查手机旋转的方法您可以使用加速度计运动传感器,以下链接显示基本运动传感器链接,但您需要使用此传感器检查完全旋转并增加旋转值

于 2012-12-01T09:02:22.453 回答