【发布时间】:2018-11-10 09:47:38
【问题描述】:
使用geosphere::bearing我可以计算两条线的方位角,但是可以计算出两条方位角之间的角度吗?
当然,您可以尝试减去或总结方位,但在一个为负而另一个为正的特定情况下,这不起作用。
例如,如果 ber1 = - 175 和 ber2 = 175,则两者之间的角度应为 10。
有什么建议吗?
【问题讨论】:
-
取角度之间的绝对差(模 360),如果大于 180,则从 360 中减去。
-
abs(ber1) - abs(ber2) = 0-> 从 360 中减去 0 等于 360,我要说明的一点是,通过实施许多条件可能会得到正确的答案,但也许有一个已经实现了所有这些规则的函数 -
如果大于180。应该是
abs(ber1 - ber2)。如果您只是在寻找现有功能,那么 Google 就是您的朋友。 -
对于
C#和C解决方案,请参阅Turn Direction for Target Heading。