Geometry 两点间的曲线

Geometry 两点间的曲线,geometry,geocoding,mit-scratch,Geometry,Geocoding,Mit Scratch,我正在使用scratch,试图找到两点之间的最短距离,然后在它们之间画一条线 基本上,该程序允许用户点击地图上的两个点,然后计算这两个点的经度和纬度。这部分很好 然后我需要在两个点之间画一条线,考虑到地图是平的,有时这条线需要离开屏幕并返回以找到最短的线。如果我也能得到点之间的曲线,那就太好了。有没有一个方程式可以让我这么做 谢谢您是否考虑过使用最小和最大x和y坐标来确定所述点是靠近墙还是靠近中心。然后写一个逻辑,计算出离开网格进入另一边是否更好,然后继续到这一点。或者,直接在两点之间画一条线。

我正在使用scratch,试图找到两点之间的最短距离,然后在它们之间画一条线

基本上,该程序允许用户点击地图上的两个点,然后计算这两个点的经度和纬度。这部分很好

然后我需要在两个点之间画一条线,考虑到地图是平的,有时这条线需要离开屏幕并返回以找到最短的线。如果我也能得到点之间的曲线,那就太好了。有没有一个方程式可以让我这么做


谢谢

您是否考虑过使用最小和最大x和y坐标来确定所述点是靠近墙还是靠近中心。然后写一个逻辑,计算出离开网格进入另一边是否更好,然后继续到这一点。或者,直接在两点之间画一条线。我会为你做的,但我想你会感激这个挑战。至于画这条线,使用一个不可见的精灵,它指向一条线,放下笔,移动到另一条线

我记得使用Bresenham算法取得了一些成功:你有每个点的经度和纬度,所以你有球坐标。球体上的最短路径是在球体的一个大圆圈上,它给出了球坐标中的路径。使用平面与经度/纬度的倒数函数绘制曲线。点之间是否相距1000英里?如果不是的话,你可能不用使用平坦的地球方程(也称为等矩形近似)。如果两个点相距很远,你可以使用哈弗森。这些公式位于此处: