我正在编写一个算法,在该算法中,我将球体的表面分解为网格点(为简单起见,我的网格线与子午线平行和垂直)。给定一个点 A,我希望能够有效地获取任何网格“正方形”并确定正方形中具有最小球坐标距离 AB 的点 B。在退化的情况下,“正方形”实际上是“三角形”。
我实际上只是用它来限制我正在搜索的方 block ,所以我也可以接受一个下限,如果它只有一点点偏差的话。出于这个原因,我需要算法非常快,否则最好只考虑精度损失并搜索更多方 block 。
- 我决定将这个问题重新发布到 Math Overflow:https://mathoverflow.net/questions/854/closest-grid-square-to-a-point-in-spherical-coordinates .这里取得了更多进展
最佳答案
对于球体上的点,在整个 3D 空间中最近的点在沿球体表面测量时也将是最近的。实际距离会有所不同,但如果您刚好在最近点之后,则可能最简单的方法是最小化 3D 距离,而不用担心大圆弧等。
要计算球面上两个(纬度、经度)点之间的实际大圆距离,可以使用 this link 中的第一个公式。 .
关于algorithm - 在球坐标系中最接近点的网格方 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1463606/