Android 获取两点(板条)与垂直轴(北轴)之间的角度

Android 获取两点(板条)与垂直轴(北轴)之间的角度,android,vector,google-maps-api-2,angle,Android,Vector,Google Maps Api 2,Angle,目前,我在谷歌地图上有两点A和B。 我的问题如下图所示: 当在垂直轴上旋转设备时,我想得到点A和点B之间的角度@ 我想得到AB和北轴(y轴)之间的角度 我该怎么办。 我创建了一个函数来获取角度,但它返回null:( 如果你有三角形 CB A 然后AB轴和y轴之间的角度等于驾驶室角度。tg(驾驶室)=BC/AC,你需要这个角度,所以实际上你需要的是arctg(BC/AC)。如果你有三角形 CB A 然后AB轴和y轴之间的角度等于驾驶室角度。tg(驾驶室)=BC/AC,你需要这个角度,所以实

目前,我在谷歌地图上有两点A和B。 我的问题如下图所示:

当在垂直轴上旋转设备时,我想得到点A和点B之间的角度@

我想得到AB和北轴(y轴)之间的角度 我该怎么办。 我创建了一个函数来获取角度,但它返回null:(

如果你有三角形

CB
A
然后AB轴和y轴之间的角度等于驾驶室角度。tg(驾驶室)=BC/AC,你需要这个角度,所以实际上你需要的是arctg(BC/AC)。

如果你有三角形

CB
A

然后AB轴和y轴之间的角度等于驾驶室角度。tg(驾驶室)=BC/AC,你需要这个角度,所以实际上你需要的是arctg(BC/AC)。

你可以用这个公式来获得到车床之间的角度,看看

θ=atan2(sin(Δlong)*cos(lat2),cos(lat1)*sin(lat2)− sin(lat1)*cos(lat2)*cos(Δ长))

注意,在使用此公式之前,应将角度(θ)转换为弧度,Δlong=long2-long1

atan2是几乎所有编程语言(主要在数学软件包中)中都可以找到的常用函数。通常还有用于度和弧度之间转换的函数(也在数学软件包中)

请记住,atan2返回的值范围为-π…+π,要将结果转换为指南针方位,需要将θ乘以180/π,然后使用(θ+360)%360,其中%是模数除法运算,返回除法的剩余部分

以下链接是有关纬度和经度公式的良好资源。它们还提供了公式的Javascript实现。事实上,答案基于此页面的信息:


您可以使用此公式来获取横向之间的角度,以便查看

θ=atan2(sin(Δlong)*cos(lat2),cos(lat1)*sin(lat2)− sin(lat1)*cos(lat2)*cos(Δ长))

注意,在使用此公式之前,应将角度(θ)转换为弧度,Δlong=long2-long1

atan2是几乎所有编程语言(主要在数学软件包中)中都可以找到的常用函数。通常还有用于度和弧度之间转换的函数(也在数学软件包中)

请记住,atan2返回的值范围为-π…+π,要将结果转换为指南针方位,需要将θ乘以180/π,然后使用(θ+360)%360,其中%是模数除法运算,返回除法的剩余部分

以下链接是有关纬度和经度公式的良好资源。它们还提供了公式的Javascript实现。事实上,答案基于此页面的信息:


链接已断开链接已断开