我正在使用Java NASA WorldWind,并且有两个具有不同高度和位置的对象。
考虑地球的曲率,如何找到物体之间的仰角?
此图像说明了(显然没有按比例缩放)我正在尝试执行的操作:
对象A在离地面50英尺的地方,对象B在离地面500英尺的地方。考虑到地球的曲率,如何找到角度X?
三角能节省一天!在我回答问题时,请参考下面的图表:
我们想要找到的角度是α。如果我们知道两点之间的距离(沿着地球曲率)(或更准确地说,是我们在地球表面上得到的两点之间的曲线距离),那么我们可以轻松找到θ从每个对象到表面)。如果距离为L
,则θ仅为L/R
(参见“弧长”),其中R
为地球半径。
注意值d 1,d 2和d 3。如果我们知道d 2和d 3,就可以轻松找到α ,因为(θ+α)是d 2 / d 3的反正切。那么我们如何找到这些呢?
首先,我们将找到d 1。我们知道d 1和d 3的三角形的斜边是R + h a,这就是地球的半径加上物体A的高程。因此我们可以找到d 1:
同样,对于d 3:
现在我们如何找到d 2?我们知道,整个三角形的底边的总长度为R + h b;基本上就是地球半径加上物体B的高度。我们已经知道d 1。因此d 2为:
现在我们准备找到α:
因此,使用根据两个物体的高度和地球半径的表达式,您应该能够找到α。可能有一种更简单的方法来找到α,但这是我能想到的。自从我做三角学以来已经有一段时间了!我认为我的数学是正确的,但是如果发现任何错误,请告诉我。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句