首先,我们都知道,点和直线最短的距离就是点到直线的垂直距离。我们用直角三角板的直角边,画出的直线即为所求,那么,曲线呢?
我们把曲线切割成直线,那么两两的最短距离就是那些直角边画出来的集合,因此,我们可以通过比较这些集合,求出相关的距离。可是,这在百度地图中,却不是最好的方案。
将问题简单化,百度地图的曲线可以看成按某种精度连接起来的点集,我们可以通过求球体比较两点之间的距离公式,简单算出他们最短距离。
下面是求两点间的最短距离公式:
假设两点的坐标分别为A(x1,y1),B(x2,y2),圆的半径为r
圆心角为θ
那么
所以