如何計算手機旋轉的數量?其中「零度」是您指定的值。如何計算Android手機相對於手機的旋轉度
例如,假設你有一個你手機平板盈在桌子上的縱向位置 - 我們稱之爲「零度」。
你旋轉手機的權利,以便它現在是景觀(電話指向右側的頂部) - 這將是「90度」。
在旋轉時,手機會一直旋轉20,30,40等度
到目前爲止,我發現來檢測手機旋轉的方式是通過加速計和指南針,即「getAzimuth()
」。然而,「零度」總是北方。
有沒有一種方法可以計算手機的旋轉而不是與基本方向有關?
注:
- 使用libgdx,雖然傳感器行爲不應相差太大
- 「
getRotation()
」似乎能在0〜確定旋轉,90度,270度,但不值之間 - 電話我使用不具備陀螺儀,理想的解決方案並不需要陀螺儀無論是
謝謝:)
您可以計算任意兩個向量之間的角度。如果其中一個方向朝北(0方位) - 這只是一個特例。您可以選擇任何其他角度作爲基準,並從下一次測量中替換。沒有辦法告訴手機0方位角不指向北方。順便說一下,'旋轉'是關於屏幕的方向,這是移動旋轉的副產品。 – Stan
你可以嘗試一下,getRotation如何計算它:https://github.com/android/platform_frameworks_base/blob/master/core/java/android/view/Display.java#L456 – CQQL
@Stan如果你把作爲你的評論'答案'我會高興地接受它 - 因爲經過很多挫折,這是我發現:) – pyko