所以基本上我想:
- 在地球上两个位置之间绘制一条路径,并指定经度和纬度坐标
- 能够使用多条直线渲染此路径(例如使用 OpenGL)
- 指定高度,以及能够在球体上划弧的奖励积分(例如飞行路径)
- 使用哪种语言并不重要。我可以翻译:)
有“大圆”距离公式,但我不确定如何将其应用于这个问题。
最佳答案
好吧,这是我的方法。如果有任何步骤不清楚,请告诉我,我会详细说明。
- 我们将从A前往B。
- 我们对这些向量进行标准化,a = A/|A|, b = B/|B|。 (如果我们留在地面上,|A| 和 |B| 的大小将是地球的半径。)
- 我们采用叉积,c = a x b。 我们将围绕这个向量 c 旋转,将 A 传送到 B,c 的大小是A 和 B 之间的角度的余弦:theta = acos(|c|)。很酷吧?
- 我们不想一次完成旅行,我们想要n个小步骤,所以我们将theta分开。我们从 A 开始,然后在每一步我们围绕 c 旋转角度 theta/n。
- 这给出了一条沿着地面的路径。为了获得弧线(可能在某个高度开始/结束),我们决定在每一步添加多少高度(在球坐标中非常容易 - 在笛卡尔坐标中我们必须缩放矢量)。
关于math - 画一条绕地球的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12665838/