簡體   English   中英

如何計算當前方向與 GPS 點之間的角度

[英]How to calculate angle beetween current direction and GPS point

我有 2 點(Android Location 對象):當前位置和目標位置。 我也有我的設備的方向(以度為單位)。

在此處輸入圖像描述

我想計算目標位置和方向之間的角度。 如何正確地做到這一點?

我從 FusedLocationProvider 接收位置(如果重要的話)。 現在我只是使用

float requiredAngle = Math.abs(location.getBearing() - 180 - target.bearingTo(location));

float angleBetween = Math.abs(requiredAngle - location.getBearing()); 它返回不正確的角度。

我認為我應該計算真北和磁北之間的差異並添加設備方向。 然后使用 currentPosition.bearingTo(target),並從方位中減去設備方向。

謝謝,我使用https://github.com/iutinvg/compass/blob/master/app/src/main/java/com/sevencrayons/compass/Compass.java的代碼來完成這項任務。 代碼返回方位角,然后我使用 BearingTo() 並為我的任務比較它們的值。

在這種情況下,您可以查看這篇文章: https://onlinemschool.com/math/library/vector/angl/

  1. 計算向量的點積
  2. 計算向量幅度
  3. 計算這兩個向量之間的角度

矢量 A 和矢量 B 之間的夾角公式:余弦(α)= dotProductAB /(幅度A * 幅度B)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM