Короткий ответ
The right distance formula depends on how you're allowed to travel between two points. Straight-line ("as the crow flies") distance uses the Euclidean formula, d = √[(x₂−x₁)² + (y₂−y₁)²]. Grid-based movement, like city blocks, uses Manhattan distance instead: d = |x₂−x₁| + |y₂−y₁|. For places on Earth, geographic distance accounts for the planet's curvature using the Haversine formula.
Ключевые выводы
- Евклидово расстояние — это всегда кратчайший путь между двумя точками; Манхэттенское расстояние всегда равно или больше, поскольку оно не может проходить по диагонали.
- Евклидово и Манхэттенское расстояние равны только тогда, когда две точки имеют общую координату x или y — движение вдоль одной оси.
- Расстояние Минковского является обобщением: p = 1 дает Манхэттен, p = 2 дает евклидово расстояние, а p = ∞ дает расстояние Чебышева (наибольшая одноосная разница).
- Для географического расстояния между координатами требуется формула Хаверсина, а не формула расстояния в плоской плоскости, поскольку поверхность Земли искривлена.
Выбор правильной формулы расстояния
| Сценарий | Формула | Почему |
|---|---|---|
| Расстояние по прямой на плоскости | евклидов | Кратчайший возможный путь |
| Расстояние по городским кварталам/сетке | Манхэттен | Не могу разрезать блоки по диагонали. |
| Расстояние между двумя координатами Земли | Географический (Хаверсин) | Учитывает кривизну планеты |
| Общая настраиваемая метрика расстояния | Минковский | Семья, охватывающая Евклидово, Манхэттенское и Чебышевское |
Рабочий пример: три дистанции, одна пара точек.
Take the points (0, 0) and (3, 4). Depending on the metric, "the distance" between them isn't a single number:
| Метрика | Расчет | Результат |
|---|---|---|
| Евклидово (p=2) | √(3² + 4²) = √25 | 5 |
| Манхэттен (р=1) | |3| + |4| | 7 |
| Чебышев (p=∞) | max(3, 4) | 4 |
All three answers are correct — for their own definition of "distance." Euclidean gives the shortest path (a straight line), Manhattan gives the longest (grid-only movement), and Chebyshev gives the shortest of all, since it only counts the larger of the two axis differences.
Семейство расстояний Минковского
d = (Σ|x − y|v)^(1/p)
Minkowski distance is a single formula with a tunable parameter p. Setting p = 1 reduces it to Manhattan distance, p = 2 reduces it to Euclidean distance, and as p approaches infinity, it converges to Chebyshev distance — the largest single-axis gap between the two points. This makes Minkowski distance a useful way to sweep between "grid movement" and "straight-line movement" behavior for the same pair of points.
Распространенные ошибки, которых следует избегать
- Использование евклидова расстояния для оценки реального расстояния путешествия в городской сетке — оно занижает фактическое расстояние пешком или на автомобиле, которое моделируется более реалистично на Манхэттене.
- Применение формулы расстояния в плоской плоскости непосредственно к координатам широты и долготы — градус долготы охватывает очень разные реальные расстояния в зависимости от широты, поэтому вместо этого требуется формула Хаверсина.
- Используя параметр Минковского p меньше 1 и ожидая нормального поведения расстояния — ниже p = 1, формула больше не удовлетворяет неравенству треугольника и перестает вести себя как истинная метрика расстояния.
- Беспокойство о том, что отрицательные координаты приведут к отрицательному расстоянию — возведение в квадрат (Евклидово) и абсолютное значение (Манхэттен) удаляют знак, поэтому расстояние никогда не бывает отрицательным, а порядок точек никогда не имеет значения.
Сопутствующие калькуляторы
- Калькулятор теоремы Пифагора — см. логику прямоугольного треугольника, лежащую в основе двумерной формулы евклидова расстояния.
- Калькулятор прямоугольного треугольника — Найдите стороны и углы в треугольнике, образованном двумя точками.
- Калькулятор уклона — найдите крутизну линии, соединяющей две ваши точки.
- Калькулятор треугольника — работа с тремя точками и общей геометрией треугольника.