2016-04-14 152 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函数中开始使用它们。双载体之间

相关问题