Я использую scratch и пытаюсь найти кратчайшее расстояние между двумя точками, а затем нарисую между ними линию.Кривая линия между двумя точками
В основном программа позволяет пользователю щелкнуть по двум точкам на карте, а затем рассчитать долготу и широту для обеих точек. Эта часть в порядке.
Мне нужно нарисовать линию между двумя точками, которая учитывает, что карта плоская, а иногда линия должна покидать экран и возвращаться, чтобы найти кратчайшую линию. Было бы здорово, если бы я мог также получить линию кривой между точками. Есть ли уравнение, которое позволит мне это сделать?
Благодаря
Я помню с помощью алгоритма Брешенема с некоторым успехом: http://en.wikipedia.org/wiki/Bresenham's_line_algorithm – Matt
У вас есть долгота и широта для каждой точки, поэтому у вас есть сферические координаты. Самый короткий путь на сфере находится на круговом круге сферы, который дает вам путь в сферических координатах. Используйте обратную функцию вашей плоскости к долготе/широте, чтобы проследить кривую. –
Ваши точки на расстоянии 1000 миль друг от друга? Если нет, вы, вероятно, могли бы уйти с использованием уравнений плоской земли (так называемое уравновешивающее приближение). Если точки далеко друг от друга, вы можете использовать Haversine. Эта формула находится здесь: http://www.movable-type.co.uk/scripts/latlong.html – TreyA