Математика·Геометрия

Расчет расстояний: формулы и примеры

Узнайте, как посчитать расстояние между точками: по прямой, в координатах, на карте и в 3D. Подойдут формулы и практические примеры.

Выберите тип расчета Формула подстроится автоматически под выбранный режим
Точка A
Точка B

Узнайте, как посчитать расстояние между точками: по прямой, в координатах, на карте и в 3D. Подойдут формулы и практические примеры.


Какие расстояния бывают и чем считать

Под “расчетом расстояний” в поиске обычно понимают разные задачи – важно выбрать метод:

  • По прямой (геометрическое расстояние): между точками на плоскости или “по воздуху”.
  • По координатам на сфере (между городами): когда у вас широта/долгота.
  • В 3D: когда есть разница по высоте (этажи, рельеф, высоты в метрах).
  • По маршруту (дорога/перевозки): когда нужен путь с учетом дорог, разворотов и ограничений.

Если вы не уверены, что именно нужно:
для “линейки” – по прямой, для карты по GPS – по сфере, для высот – 3D, для времени/пути – по маршруту.


Мини-чеклист: как выбрать формулу за 30 секунд

  1. Точки даны (x, y) без широты/долготы? → используйте формулу длины отрезка.
  2. Даны широта/долгота (градусы) и нужно между точками на Земле? → используйте сферическую формулу (Хаверсин).
  3. Есть высота/уровень z? → используйте 3D-расстояние.
  4. Нужна длина пути по трассам/дорогам? → расчет по маршруту (на картах/в навигации).

Расстояние между точками на плоскости (X–Y)

Если точки заданы координатами A(x1, y1) и B(x2, y2), расстояние по прямой:

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

Пример

Пусть A(2, 3), B(5, 7). Тогда:

  • Δx = 5 − 2 = 3
  • Δy = 7 − 3 = 4

[ d=\sqrt{3^2+4^2}=\sqrt{9+16}=\sqrt{25}=5 ]

Ответ: 5 (в тех же единицах, что и координаты).


Расстояние на сфере (широта/долгота, “между городами”)

Когда точки заданы широтой φ и долготой λ, прямую формулу из школьной геометрии применять нельзя: Земля – не плоскость.

Один из самых популярных вариантов – формула Хаверсина (great-circle distance):

[ d=2R\cdot \arcsin\left(\sqrt{\sin^2\left(\frac{\Delta \varphi}{2}\right)+\cos(\varphi_1)\cos(\varphi_2)\sin^2\left(\frac{\Delta \lambda}{2}\right)}\right) ]

Где:

  • R – радиус Земли (обычно берут средний, примерно 6371 км),
  • (\varphi) – широта, (\lambda) – долгота,
  • (\Delta \varphi=\varphi_2-\varphi_1), (\Delta \lambda=\lambda_2-\lambda_1),
  • все углы должны быть в радианах.

Пример (оценка)

Например, между Москва и Санкт‑Петербург расстояние “по воздуху” обычно получается около 630–640 км, а расстояние по дороге – заметно больше (из‑за развязок и траекторий).


Расстояние в 3D (с учетом высоты)

Если точки заданы A(x1, y1, z1) и B(x2, y2, z2), расстояние по прямой:

[ d=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2+(z_2-z_1)^2} ]

Пример

A(1, 2, 3), B(4, 6, 3):

  • Δx = 3
  • Δy = 4
  • Δz = 0

[ d=\sqrt{3^2+4^2+0^2}=\sqrt{9+16}=5 ]


Расстояние по маршруту (дорога, трассы, перевозки)

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

  • выбирают дороги/линии,
  • учитывают направления движения,
  • применяют правила и ограничения.

На практике это дает длину пути, а не геометрическую дистанцию.
Поэтому для логистики и поездок часто различают:

  • расстояние по прямой (ориентир),
  • маршрутное расстояние (для времени/стоимости/плана).

Частые ошибки при расчете расстояний

  • Смешивание единиц: координаты в километрах, а формула ожидает метры (и наоборот).
  • Подмена “по прямой” на “по маршруту”: формула дает одно, а карты/навигатор – другое.
  • Долготы/широты в градусах без перевода в радианы (для сферических расчетов).
  • Сфера vs плоскость: формулы для плоскости на больших расстояниях дают заметную погрешность.
  • Неучтенные высоты: если z влияет на задачу, 2D-расчет может быть слишком грубым.

Как быстро проверить адекватность результата

  1. Оценка “на глаз”: если точки далеко, а ответ маленький – проверьте единицы и ввод.
  2. Сравнение с альтернативой:
    • для координат на Земле сравните “по воздуху” с картами (обычно порядок совпадает),
    • для маршрута сравните с длиной пути на навигации.
  3. Единицы измерения: итог должен быть в той же системе, что вы использовали (км/м, градусы/радианы).

На этой странице вы можете выполнить расчет расстояний по нужному типу задачи (по координатам/в 3D/для широты и долготы) и сразу получить итог.

Часто задаваемые вопросы

Как найти расстояние между двумя точками на плоскости?
Если точки заданы координатами (x1, y1) и (x2, y2), используйте формулу длины отрезка: d = √((x2−x1)² + (y2−y1)²). Это дает расстояние по прямой (евклидова метрика). Следите, чтобы все координаты были в одних единицах.
Почему расстояние по формуле и по картам может отличаться?
Формула на плоскости обычно дает расстояние по прямой. Карты же рассчитывают длину маршрута по дорогам с учетом развязок, ограничений и направления движения. Поэтому “по воздуху” и “по дороге” почти всегда разные – особенно на больших расстояниях.
Нужно ли переводить градусы в радианы для формулы Хаверсина?
Да, в формулах для сферического расстояния (например, Хаверсина) тригонометрические функции работают с радианами. Если широта и долгота даны в градусах, сначала переведите: rad = deg · π/180. Ошибка в единицах часто приводит к грубым неверным результатам.
Как учитывать высоту при расчете расстояния?
Для учета высоты (или разных уровней) применяют расстояние в 3D: d = √(Δx² + Δy² + Δz²). Если высота несущественна или объекты близко друг к другу, можно считать 2D-дистанцию. Для “больших” высот и дальних трасс 3D точнее.
Чем отличается расчет “по прямой” от “по маршруту” для логистики?
По прямой – это геометрическая дистанция между пунктами. По маршруту – длина пути транспорта по дорогам/линиям связи с ограничениями и правилами. В логистике для перевозок также могут использоваться нормативные маршрутные или тарифные расстояния, которые не всегда совпадают с геометрией.