Формула расстояния между 2 точками уравнение сферы

5.6.2 Формула расстояния между двумя точками; уравнение сферы

Видеоурок: Формула расстояния между двумя точками

Лекция: Формула расстояния между двумя точками; уравнение сферы

Расстояние между двумя точками

Для нахождения расстояния между двумя точками на прямой в предыдущем вопросе мы использовали формулу d = х2 – х1.

Но, что касается плоскости, дела обстоят иначе. Не достаточно просто найти разность координат. Для нахождения расстояния между точками по их координатам следует воспользоваться следующей формулой:

Например, если у Вас имеются две точки с некоторыми координатами, то найти расстояние между ними можно следующим образом:

АВ = ((4 + 4) 2 + (-1 – 6) 2 ) 1/2 ≈ 10,6.

То есть для вычисления расстояния между двумя точками на плоскости необходимо найти корень из суммы квадратов разностей координат.

Если необходимо найти расстояние между двумя точками на плоскости, следует воспользоваться аналогичной формулой с дополнительной координатой:

Уравнение сферы

Для задания сферы в пространстве следует знать координаты её центра, а также её радиус, чтобы воспользоваться следующей формулой:

Данное уравнение соответствует сфере, центр которой находится в начале координат.

Если же центр сферы сдвинут на некоторое количество единиц по осям, то следует воспользоваться следующей формулой:

GIS-LAB

Географические информационные системы и дистанционное зондирование

Вычисление расстояния и начального азимута между двумя точками на сфере

Измерение расстояния и начального азимута между точками без проекционных преобразований

Содержание

[править] Введение

Длина дуги большого круга – кратчайшее расстояние между любыми двумя точками находящимися на поверхности сферы, измеренное вдоль линии соединяющей эти две точки (такая линия носит название ортодромии) и проходящей по поверхности сферы или другой поверхности вращения. Сферическая геометрия отличается от обычной Эвклидовой и уравнения расстояния также принимают другую форму. В Эвклидовой геометрии, кратчайшее расстояние между двумя точками – прямая линия. На сфере, прямых линий не бывает. Эти линии на сфере являются частью больших кругов – окружностей, центры которых совпадают с центром сферы.

Начальный азимут — азимут, взяв который при начале движения из точки А, следуя по большому кругу на кратчайшее расстояние до точки B, конечной точкой будет точка B. При движении из точки A в точку B по линии большого круга азимут из текущего положения на конечную точку B постоянно меняется. Начальный азимут [angles-rhumb.html отличен от постоянного], следуя которому, азимут из текущей точки на конечную не меняется, но маршрут следования не является кратчайшим расстоянием между двумя точками.

Через любые две точки на поверхности сферы, если они не прямо противоположны друг другу (то есть не являются антиподами), можно провести уникальный большой круг. Две точки, разделяют большой круг на две дуги. Длина короткой дуги – кратчайшее расстояние между двумя точками. Между двумя точками-антиподами можно провести бесконечное количество больших кругов, но расстояние между ними будет одинаково на любом круге и равно половине окружности круга, или pi*R, где R – радиус сферы.

На плоскости (в прямоугольной системе координат), большие круги и их фрагменты, как было упомянуто выше, представляют собой дуги во всех проекциях, кроме гномонической, где большие круги — прямые линии. На практике это означает, что самолеты и другой авиатранспорт всегда использует маршрут минимального расстояния между точками для экономии топлива, то есть полет осуществляется по расстоянию большого круга, на плоскости это выглядит как дуга.

Форма Земли может быть описана как сфера, поэтому уравнения для вычисления расстояний на большом круге важны для вычисления кратчайшего расстояния между точками на поверхности Земли и часто используются в навигации.

Вычисление расстояния этим методом более эффективно и во многих случаях более точно, чем вычисление его для спроектированных координат (в прямоугольных системах координат), поскольку, во-первых, для этого не надо переводить географические координаты в прямоугольную систему координат (осуществлять проекционные преобразования) и, во-вторых, многие проекции, если неправильно выбраны, могу привести к значительным искажениям длин в силу особенностей проекционных искажений.

Известно, что более точно описывает форму Земли не сфера, а эллипсоид, однако в данной статье рассматривается вычисление расстояний именно на сфере, для вычислений используется сфера радиусом 6372795 метров, что может привести к ошибке вычисления расстояний порядка 0.5%.

[править] Формулы

Существует три способа расчета сферического расстояния большого круга (подробнее).

[править] Сферическая теорема косинусов

В случае маленьких расстояний и небольшой разрядности вычисления (количество знаков после запятой), использование формулы может приводить к значительным ошибкам связанным с округлением. Графическое изображение формул здесь и далее — из Википедии.

— широта и долгота двух точек в радианах

— разница координат по долготе

— угловая разница

Для перевода углового расстояния в метрическое, нужно угловую разницу умножить на радиус Земли (6372795 метров), единицы конечного расстояния будут равны единицам, в которых выражен радиус (в данном случае — метры).

[править] Формула гаверсинусов

Используется, чтобы избежать проблем с небольшими расстояниями.

[править] Модификация для антиподов

Предыдущая формула также подвержена проблеме точек-антиподов, чтобы ее решить используется следующая ее модификация.

[править] Реализация на Avenue

На языке Avenue, используя последнюю формулу для вычисления расстояния большого круга между двумя точками, можно использовать следующий код. Точки для вычисления передаются другим скриптом, либо добавляются в начало данного в виде pnt = point.make(long, lat) (скачать скрипт):

Для вызова процедуры расчета длин приведенной выше, можно также воспользоваться следующим скриптом, результатом его работы будет расчет длин между точкой testpont до всех точек активной темы вида и запись результата в поле Newdist атрибутивной таблицы этой темы:

[править] Реализация на языке Python

Реализует полный вариант расчета через atan2(), более универсальнее, чем вариант для Avenue. (скачать скрипт)

[править] Реализация в Excel

Скачать пример расчета расстояния большого круга и начального азимута в Excel. Демонстрирует расчеты через закон косинусов, гаверсинус, полное уравнение и полное уравнение через atan2().

Можно также воспользоваться следующей функцией:

[править] Проверочный набор данных

Если все считается правильно, должны быть получены следующие результаты (координаты точек даны как широта/долгота, расстояние в метрах, начальный угол в десятичных градусах):

#Точка 1Точка 2РасстояниеУгол
177.1539/-139.398-77.1804/-139.5517166029180.077867811
277.1539/120.39877.1804/129.5522588384.7925159033
377.1539/-120.39877.1804/129.552332669324.384112704

[править] Ссылки по теме

Последнее обновление: 2014-05-14 23:41

Дата создания: 06.06.2006
Автор(ы): Максим Дубинин

Расстояние между двумя точками

Формулы вычисления расстояния между двумя точками:

  • Формула вычисления расстояния между двумя точками A( xa , ya ) и B( xb , yb ) на плоскости:

Вывод формулы для вычисления расстояния между двумя точками на плоскости

Из точек A и B опустим перпендикуляры на оси координат.

Рассмотрим прямоугольный треугольник ∆ABC. Катеты этого треугольника равны:

Воспользовавшись теоремой Пифагора, вычислим длину отрезка AB:

AB = √ AC 2 + BC 2 .

Подставив в это выражение длины отрезков AC и BC, выраженные через координаты точек A и B, получим формулу для вычисления расстояния между точками на плоскости.

Формула для вычисления расстояния между двумя точками в пространстве выводится аналогично.


источники:

http://gis-lab.info/qa/great-circles.html

http://ru.onlinemschool.com/math/library/analytic_geometry/point_point_length/