2016-04-14 237 views
0

我需要測量兩個向量之間的角度。我有.kml文件我該怎麼做我的載體即是如此這裏充滿了Latitutes和longitutesJava Vector3計算兩個向量之間的角度

54.90627884784906, 23.98023512082725 
54.90568158443394, 23.98021489919758 
54.9055211876991, 23.97995622451836 
... 

Vector3 firstVec = new Vector3(new Point3((float)54.90627884784906, (float)23.98023512082725, 0), 
        new Point3((float)54.90568158443394, (float)23.98021489919758, 0)); 

Vector3 secondVec = new Vector3(new Point3((float)54.90568158443394, (float)23.98021489919758, 0), 
        new Point3((float)54.9055211876991, (float)23.97995622451836, 0)); 

這裏我如何衡量兩個向量

double angle = firstVec.angle(secondVec); 

和這裏的夾角我的結果:

0.9824845194816589 

以下是代表這些座標的圖像。 enter image description here 顯然我的角度不正確。如何計算它?

+0

您正在使用什麼'Vector3'類繁衍? – fabian

+0

@fabian我在使用beyondAr框架中的類。任何替代品? – David

回答

1

你的載體是錯誤的。

Lat和lon是球面角度座標。我建議您在開始之前將它們轉換爲3D矩形座標。一旦你有了這些,使用點積計算弧度的角度很容易。

您還應該知道經度和緯度用度表示 - 將它們轉換爲弧度,然後在trig函數中開始使用它們。雙載體之間

相關問題