我正在构建一个Android AR-App(是的,另一个),但我更感兴趣的是理解它背后的数学而不是使用框架(知道this和this)。
给定位置(lat1,long1)和(lat2,long2)我正在搜索从Location1到Location2的方向向量(x,y,z)。
使用此Site我可以计算位置1和位置2之间的距离和(初始)方位。
现在我开发了两种方法(忽略高度)
x = distHaversine(lat1,long1,lat1,long2);
z = distHaversine(lat1,long1,lat2,long1);
if (lat1 < lat2)
z *= -1;
if (long1 > long2)
x *= -1;
和
distance = distHaversine(lat1,long1,lat2,long2);
angle = 90.0-bearing(lat1,long1,lat2,long2);
x = cos(angle)*distance;
z = sin(angle)*distance;
但现在我被困扰和烦恼......不应该'结果是一样的吗? 我在哪里可以找到推理中的错误?我如何计算方向向量(或者更确切地说:为什么我的第二种方法不起作用?)?
感谢您的帮助