Как вычисляется расстояние между точками. Расстояние между двумя точками плоскости.Системы координат. Деление отрезка в данном отношении

Расчет расстояний между точками по их координатам на плоскости элементарен, на поверхности Земли — немного посложнее: мы рассмотрим измерение расстояния и начального азимута между точками без проекционных преобразований. Для начала разберемся в терминологии.

Введение

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

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

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

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

Формулы

Существует три способа расчета сферического расстояния большого круга. 1. Сферическая теорема косинусов В случае маленьких расстояний и небольшой разрядности вычисления (количество знаков после запятой), использование формулы может приводить к значительным ошибкам связанным с округлением. φ1, λ1; φ2, λ2 - широта и долгота двух точек в радианах Δλ - разница координат по долготе Δδ - угловая разница Δδ = arccos {sin φ1 sin φ2 + cos φ1 cos φ2 cos Δλ} Для перевода углового расстояния в метрическое, нужно угловую разницу умножить на радиус Земли (6372795 метров), единицы конечного расстояния будут равны единицам, в которых выражен радиус (в данном случае - метры). 2. Формула гаверсинусов Используется, чтобы избежать проблем с небольшими расстояниями. 3. Модификация для антиподов Предыдущая формула также подвержена проблеме точек-антиподов, чтобы ее решить используется следующая ее модификация.

Моя реализация на РНР

// Радиус земли define("EARTH_RADIUS", 6372795); /* * Расстояние между двумя точками * $φA, $λA - широта, долгота 1-й точки, * $φB, $λB - широта, долгота 2-й точки * Написано по мотивам http://gis-lab.info/qa/great-circles.html * Михаил Кобзарев < > * */ function calculateTheDistance ($φA, $λA, $φB, $λB) { // перевести координаты в радианы $lat1 = $φA * M_PI / 180; $lat2 = $φB * M_PI / 180; $long1 = $λA * M_PI / 180; $long2 = $λB * M_PI / 180; // косинусы и синусы широт и разницы долгот $cl1 = cos($lat1); $cl2 = cos($lat2); $sl1 = sin($lat1); $sl2 = sin($lat2); $delta = $long2 - $long1; $cdelta = cos($delta); $sdelta = sin($delta); // вычисления длины большого круга $y = sqrt(pow($cl2 * $sdelta, 2) + pow($cl1 * $sl2 - $sl1 * $cl2 * $cdelta, 2)); $x = $sl1 * $sl2 + $cl1 * $cl2 * $cdelta; // $ad = atan2($y, $x); $dist = $ad * EARTH_RADIUS; return $dist; } Пример вызова функции: $lat1 = 77.1539; $long1 = -139.398; $lat2 = -77.1804; $long2 = -139.55; echo calculateTheDistance($lat1, $long1, $lat2, $long2) . " метров"; // Вернет "17166029 метров"

Статья взята с сайта

Здесь будет калькулятор

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

Рассмотрим координатную прямую, на которой отмечены 2 точки: A A A и B B B . Чтобы найти расстояние между этими точками, нужно найти длину отрезка A B AB A B . Это делается при помощи следующей формулы:

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

A B = ∣ a − b ∣ AB=|a-b| A B = ∣ a − b ∣ ,

где a , b a, b a , b - координаты этих точек на прямой (координатной прямой).

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

∣ a − b ∣ = ∣ b − a ∣ |a-b|=|b-a| ∣ a − b ∣ = ∣ b − a ∣

Разберем пример, чтобы лучше понять решение подобных задач.

Пример 1

На координатной прямой отмечены точка A A A , координата которой равна 9 9 9 и точка B B B с координатой − 1 -1 − 1 . Нужно найти расстояние между этими двумя точками.

Решение

Здесь a = 9 , b = − 1 a=9, b=-1 a = 9 , b = − 1

Пользуемся формулой и подставляем значения:

A B = ∣ a − b ∣ = ∣ 9 − (− 1) ∣ = ∣ 10 ∣ = 10 AB=|a-b|=|9-(-1)|=|10|=10 A B = ∣ a − b ∣ = ∣ 9 − (− 1 ) ∣ = ∣ 1 0 ∣ = 1 0

Ответ

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

Рассмотрим две точки, заданные на плоскости. Из каждой отмеченной на плоскости точки нужно опустить по два перпендикуляра: На ось O X OX O X и на ось O Y OY O Y . Затем рассматривается треугольник A B C ABC A B C . Так как он является прямоугольным ( B C BC B C перпендикулярно A C AC A C ), то найти отрезок A B AB A B , он же является и расстоянием между точками, можно с помощью теоремы Пифагора. Имеем:

A B 2 = A C 2 + B C 2 AB^2=AC^2+BC^2 A B 2 = A C 2 + B C 2

Но, исходя из того, что длина A C AC A C равна x B − x A x_B-x_A x B x A , а длина B C BC B C равна y B − y A y_B-y_A y B y A , эту формулу можно переписать в следующем виде:

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

A B = (x B − x A) 2 + (y B − y A) 2 AB=\sqrt{(x_B-x_A)^2+(y_B-y_A)^2} A B = (x B x A ) 2 + (y B y A ) 2 ,

где x A , y A x_A, y_A x A , y A и x B , y B x_B, y_B x B , y B - координаты точек A A A и B B B соответственно.

Пример 2

Необходимо найти расстояние между точками C C C и F F F , если координаты первой (8 ; − 1) (8;-1) (8 ; − 1 ) , а второй - (4 ; 2) (4;2) (4 ; 2 ) .

Решение

X C = 8 x_C=8 x C = 8
y C = − 1 y_C=-1 y C = − 1
x F = 4 x_F=4 x F = 4
y F = 2 y_F=2 y F = 2

C F = (x F − x C) 2 + (y F − y C) 2 = (4 − 8) 2 + (2 − (− 1)) 2 = 16 + 9 = 25 = 5 CF=\sqrt{(x_F-x_C)^2+(y_F-y_C)^2}=\sqrt{(4-8)^2+(2-(-1))^2}=\sqrt{16+9}=\sqrt{25}=5 C F = (x F x C ) 2 + (y F y C ) 2 = (4 − 8 ) 2 + (2 − (− 1 ) ) 2 = 1 6 + 9 = 2 5 ​ = 5

Ответ

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

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

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

A B = (x B − x A) 2 + (y B − y A) 2 + (z B − z A) 2 AB=\sqrt{(x_B-x_A)^2+(y_B-y_A)^2+(z_B-z_A)^2} A B = (x B x A ) 2 + (y B y A ) 2 + (z B z A ) 2

Пример 3

Найти длину отрезка F K FK

Решение

F = (− 1 ; − 1 ; 8) F=(-1;-1;8)

F K = (x K − x F) 2 + (y K − y F) 2 + (z K − z F) 2 = (− 3 − (− 1)) 2 + (6 − (− 1)) 2 + (0 − 8) 2 = 117 ≈ 10.8 FK=\sqrt{(x_K-x_F)^2+(y_K-y_F)^2+(z_K-z_F)^2}=\sqrt{(-3-(-1))^2+(6-(-1))^2+(0-8)^2}=\sqrt{117}\approx10.8

По условию задачи нам нужно округлить ответ до целого числа.

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

Каждая точка А плоскости характеризуется своими координатами (х, у). Они совпадают с координатами вектора 0А , выходящего из точки 0 - начала координат.

Пусть А и В - произвольные точки плоскости с координатами (х 1 y 1) и (х 2 , у 2) соответственно.

Тогда вектор AB имеет, очевидно, координаты (х 2 - х 1 , y 2 - y 1). Известно, что квадрат длины вектора равен сумме квадратов его координат. Поэтому расстояние d между точками А и В, или, что то же самое, длина вектора АВ, определяется из условия

d 2 = (х 2 - х 1) 2 + (y 2 - y 1) 2 .

d = \/ (х 2 - х 1 ) 2 + (y 2 - y 1 ) 2

Полученная формула позволяет находить расстояние между любыми двумя точками плоскости, если только известны координаты этих точек

Каждый раз, говоря о координатах той или иной точки плоскоси, мы имеем в виду вполне определенную систему координат х0у. А вообще-то систему координат на плоскости можно выбирать по-разному. Так, вместо системы координат х0у можно рассмотреть систему координат х"0у" , которая получается в результате поворота старых осей координат вокруг начальной точки 0 против часовой стрелки на угол α .

Если некоторая точка плоскости в системе координат х0у имела координаты (х, у), то в новой системе координат х"0у" она будет иметь уже другие координаты (х", у").

В качестве примера рассмотрим точку М, расположенную на оси 0х" и отстоящую от точки 0 на расстоянии, равном 1.

Очевидно, что в системе координат x0у эта точка имеет координаты (cos α , sin α ), а в системе координат х"0у" координаты (1,0).

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

Упражнения

I. Найти расстояния между точками плоскости с координатами:

1) (3,5) и (3,4); 3) (0,5) и (5, 0); 5) (-3,4) и (9, -17);

2) (2, 1) и (- 5, 1); 4) (0, 7) и (3,3); 6) (8, 21) и (1, -3).

II. Найти периметр треугольника, стороны которого заданы уравнениями:

x + у - 1 = 0, 2x - у - 2 = 0 и у = 1.

III. В системе координат х0у точки М и N имеют координаты (1, 0) и (0,1) соответственно. Найти координаты этих точек в новой системе координат, которая получается и результате поворота старых осей вокруг начальной точки на угол в 30° против часовой стрелки.

IV. В системе координат х0у точки М и N имеют координаты (2, 0) и (\/ 3 / 2 , - 1 / 2) соответственно. Найти координаты этих точек в новой системе координат, которая получается в результате поворота старых осей вокруг начальной точки на угол в 30° по часовой стрелке.

Каждая точка А плоскости характеризуется своими координатами (х, у). Они совпадают с координатами вектора 0А , выходящего из точки 0 - начала координат.

Пусть А и В - произвольные точки плоскости с координатами (х 1 y 1) и (х 2 , у 2) соответственно.

Тогда вектор AB имеет, очевидно, координаты (х 2 - х 1 , y 2 - y 1). Известно, что квадрат длины вектора равен сумме квадратов его координат. Поэтому расстояние d между точками А и В, или, что то же самое, длина вектора АВ, определяется из условия

d 2 = (х 2 - х 1) 2 + (y 2 - y 1) 2 .

$$ d = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2} $$

Полученная формула позволяет находить расстояние между любыми двумя точками плоскости, если только известны координаты этих точек

Каждый раз, говоря о координатах той или иной точки плоскости, мы имеем в виду вполне определенную систему координат х0у. А вообще-то систему координат на плоскости можно выбирать по-разному. Так, вместо системы координат х0у можно рассмотреть систему координат хִу’ , которая получается в результате поворота старых осей координат вокруг начальной точки 0 против часовой стрелки на угол α .

Если некоторая точка плоскости в системе координат х0у имела координаты (х, у), то в новой системе координат хִу’ она будет иметь уже другие координаты (х’, у’).

В качестве примера рассмотрим точку М, расположенную на оси 0х’ и отстоящую от точки 0 на расстоянии, равном 1.

Очевидно, что в системе координат x0у эта точка имеет координаты (cos α , sin α ), а в системе координат хִу’ координаты (1,0).

Координаты любых двух точек плоскости А и В зависят от того, как в этой плоскости задана система координат. А вот расстояние между этими точками не зависит от способа задания системы координат .

Другие материалы

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

Определение 1

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

Исходные данные: координатная прямая O x и лежащая на ней произвольная точка А. Любой точке прямой присуще одно действительное число: пусть для точки А это будет некое число х A , оно же – координата точки А.

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

Если точке А соответствует целое действительное число, отложив последовательно от точки О до точки по прямой О А отрезки – единицы длины, мы можем определить длину отрезка O A по итоговому количеству отложенных единичных отрезков.

К примеру, точке А соответствует число 3 – чтобы попасть в нее из точки О, необходимо будет отложить три единичных отрезка. Если точка А имеет координату - 4 – единичные отрезки откладываются аналогичным образом, но в другом, отрицательном направлении. Таким образом в первом случае, расстояние О А равно 3 ; во втором случае О А = 4 .

Если точка A имеет в качестве координаты рациональное число, то от начала отсчета (точка О) мы откладываем целое число единичных отрезков, а затем его необходимую часть. Но геометрически не всегда возможно произвести измерение. К примеру, затруднительным представляется отложить на координатной прямой дробь 4 111 .

Вышеуказанным способом отложить на прямой иррациональное число и вовсе невозможно. К примеру, когда координата точки А равна 11 . В таком случае возможно обратиться к абстракции: если заданная координата точки А больше нуля, то O A = x A (число принимается за расстояние); если координата меньше нуля, то O A = - x A . В общем, эти утверждения справедливы для любого действительного числа x A .

Резюмируя: расстояние от начала отсчета до точки, которой соответствует действительное число на координатной прямой, равно:

  • 0, если точка совпадает с началом координат;
  • x A , если x A > 0 ;
  • - x A , если x A < 0 .

При этом очевидно, что сама длина отрезка не может быть отрицательной, поэтому, используя знак модуля, запишем расстояние от точки O до точки A с координатой x A : O A = x A

Верным будет утверждение: расстояние от одной точки до другой будет равно модулю разности координат. Т.е. для точек A и B , лежащих на одной координатной прямой при любом их расположении и имеющих соответственно координаты x A и x B: A B = x B - x A .

Исходные данные: точки A и B , лежащие на плоскости в прямоугольной системе координат O x y с заданными координатами: A (x A , y A) и B (x B , y B) .

Проведем через точки А и B перпендикуляры к осям координат O x и O y и получим в результате точки проекции: A x , A y , B x , B y . Исходя из расположения точек А и B далее возможны следующие варианты:

Если точки А и В совпадают, то расстояние между ними равно нулю;

Если точки А и В лежат на прямой, перпендикулярной оси O x (оси абсцисс), то точки и совпадают, а | А В | = | А y B y | . Поскольку, расстояние между точками равно модулю разности их координат, то A y B y = y B - y A , а, следовательно A B = A y B y = y B - y A .

Если точки A и B лежат на прямой, перпендикулярной оси O y (оси ординат) – по аналогии с предыдущим пунктом: A B = A x B x = x B - x A

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

Мы видим, что треугольник А В С является прямоугольным по построению. При этом A C = A x B x и B C = A y B y . Используя теорему Пифагора, составим равенство: A B 2 = A C 2 + B C 2 ⇔ A B 2 = A x B x 2 + A y B y 2 , а затем преобразуем его: A B = A x B x 2 + A y B y 2 = x B - x A 2 + y B - y A 2 = (x B - x A) 2 + (y B - y A) 2

Сформируем вывод из полученного результата: расстояние от точки А до точки В на плоскости определяется расчётом по формуле с использованием координат этих точек

A B = (x B - x A) 2 + (y B - y A) 2

Полученная формула также подтверждает ранее сформированные утверждения для случаев совпадения точек или ситуаций, когда точки лежат на прямых, перпендикулярных осям. Так, для случая совпадения точек A и B будет верно равенство: A B = (x B - x A) 2 + (y B - y A) 2 = 0 2 + 0 2 = 0

Для ситуации, когда точки A и B лежат на прямой, перпендикулярной оси абсцисс:

A B = (x B - x A) 2 + (y B - y A) 2 = 0 2 + (y B - y A) 2 = y B - y A

Для случая, когда точки A и B лежат на прямой, перпендикулярной оси ординат:

A B = (x B - x A) 2 + (y B - y A) 2 = (x B - x A) 2 + 0 2 = x B - x A

Исходные данные: прямоугольная система координат O x y z с лежащими на ней произвольными точками с заданными координатами A (x A , y A , z A) и B (x B , y B , z B) . Необходимо определить расстояние между этими точками.

Рассмотрим общий случай, когда точки A и B не лежат в плоскости, параллельной одной из координатных плоскостей. Проведем через точки A и B плоскости, перпендикулярные координатным осям, и получим соответствующие точки проекций: A x , A y , A z , B x , B y , B z

Расстояние между точками A и B являет собой диагональ полученного в результате построения параллелепипеда. Согласно построению измерения этого параллелепипеда: A x B x , A y B y и A z B z

Из курса геометрии известно, что квадрат диагонали параллелепипеда равен сумме квадратов его измерений. Исходя из этого утверждения получим равенство: A B 2 = A x B x 2 + A y B y 2 + A z B z 2

Используя полученные ранее выводы, запишем следующее:

A x B x = x B - x A , A y B y = y B - y A , A z B z = z B - z A

Преобразуем выражение:

A B 2 = A x B x 2 + A y B y 2 + A z B z 2 = x B - x A 2 + y B - y A 2 + z B - z A 2 = = (x B - x A) 2 + (y B - y A) 2 + z B - z A 2

Итоговая формула для определения расстояния между точками в пространстве будет выглядеть следующим образом:

A B = x B - x A 2 + y B - y A 2 + (z B - z A) 2

Полученная формула действительна также для случаев, когда:

Точки совпадают;

Лежат на одной координатной оси или прямой, параллельной одной из координатных осей.

Примеры решения задач на нахождение расстояния между точками

Пример 1

Исходные данные: задана координатная прямая и точки, лежащие на ней с заданными координатами A (1 - 2) и B (11 + 2) . Необходимо найти расстояние от точки начала отсчета O до точки A и между точками A и B .

Решение

  1. Расстояние от точки начала отсчета до точки равно модулю координаты этой точки, соответственно O A = 1 - 2 = 2 - 1
  2. Расстояние между точками A и B определим как модуль разности координат этих точек: A B = 11 + 2 - (1 - 2) = 10 + 2 2

Ответ: O A = 2 - 1 , A B = 10 + 2 2

Пример 2

Исходные данные: задана прямоугольная система координат и две точки, лежащие на ней A (1 , - 1) и B (λ + 1 , 3) . λ – некоторое действительное число. Необходимо найти все значения этого числа, при которых расстояние А В будет равно 5 .

Решение

Чтобы найти расстояние между точками A и B , необходимо использовать формулу A B = (x B - x A) 2 + y B - y A 2

Подставив реальные значения координат, получим: A B = (λ + 1 - 1) 2 + (3 - (- 1)) 2 = λ 2 + 16

А также используем имеющееся условие, что А В = 5 и тогда будет верным равенство:

λ 2 + 16 = 5 λ 2 + 16 = 25 λ = ± 3

Ответ: А В = 5 , если λ = ± 3 .

Пример 3

Исходные данные: задано трехмерное пространство в прямоугольной системе координат O x y z и лежащие в нем точки A (1 , 2 , 3) и B - 7 , - 2 , 4 .

Решение

Для решения задачи используем формулу A B = x B - x A 2 + y B - y A 2 + (z B - z A) 2

Подставив реальные значения, получим: A B = (- 7 - 1) 2 + (- 2 - 2) 2 + (4 - 3) 2 = 81 = 9

Ответ: | А В | = 9

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter