Расчет расстояний: формулы и примеры
Узнайте, как посчитать расстояние между точками: по прямой, в координатах, на карте и в 3D. Подойдут формулы и практические примеры.
Узнайте, как посчитать расстояние между точками: по прямой, в координатах, на карте и в 3D. Подойдут формулы и практические примеры.
Какие расстояния бывают и чем считать
Под “расчетом расстояний” в поиске обычно понимают разные задачи – важно выбрать метод:
- По прямой (геометрическое расстояние): между точками на плоскости или “по воздуху”.
- По координатам на сфере (между городами): когда у вас широта/долгота.
- В 3D: когда есть разница по высоте (этажи, рельеф, высоты в метрах).
- По маршруту (дорога/перевозки): когда нужен путь с учетом дорог, разворотов и ограничений.
Если вы не уверены, что именно нужно:
для “линейки” – по прямой, для карты по GPS – по сфере, для высот – 3D, для времени/пути – по маршруту.
Мини-чеклист: как выбрать формулу за 30 секунд
- Точки даны (x, y) без широты/долготы? → используйте формулу длины отрезка.
- Даны широта/долгота (градусы) и нужно между точками на Земле? → используйте сферическую формулу (Хаверсин).
- Есть высота/уровень z? → используйте 3D-расстояние.
- Нужна длина пути по трассам/дорогам? → расчет по маршруту (на картах/в навигации).
Расстояние между точками на плоскости (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-расчет может быть слишком грубым.
Как быстро проверить адекватность результата
- Оценка “на глаз”: если точки далеко, а ответ маленький – проверьте единицы и ввод.
- Сравнение с альтернативой:
- для координат на Земле сравните “по воздуху” с картами (обычно порядок совпадает),
- для маршрута сравните с длиной пути на навигации.
- Единицы измерения: итог должен быть в той же системе, что вы использовали (км/м, градусы/радианы).
На этой странице вы можете выполнить расчет расстояний по нужному типу задачи (по координатам/в 3D/для широты и долготы) и сразу получить итог.