distances.online

Статья в блоге

Почему кажется, что самолёты летят по дуге?

Кратчайший путь между двумя местами на Земле — не прямая линия на карте.

Опубликовано: Обновлено: Все статьи

Тень игрушечного самолёта на бумажной карте Европы и Азии, утыканной булавками.

На карте маршрут дальнего перелёта почти никогда не выглядит прямой линией — только дугой. Кажется, что это крюк, но на самом деле это кратчайший путь.

Чтобы это проверить, достаточно глобуса и куска нитки. Прижмите один конец к Лондону, другой — к Нью-Йорку и натяните нитку: она не пойдёт вдоль параллели на запад, а поднимется над Атлантикой, пройдёт рядом с Гренландией и снова спустится. Именно так летают самолёты. Такой путь называется большим кругом (ортодромией): это край, который получается, если разрезать глобус пополам через центр. На шаре это самая прямая из возможных линий.

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

Проблемы начинаются, когда шар переносят на плоскость, как на большинстве карт: пропорции искажаются. У экватора плоская карта почти не отличается от шара, но чем ближе к полюсам, тем сильнее она растягивается. На самой распространённой карте Гренландия кажется почти такой же большой, как Африка, хотя на самом деле Африка примерно в четырнадцать раз больше.

Поэтому траектория полёта, нарисованная на плоскости, выглядит тем изогнутее, чем дальше от экватора она проходит. Маршрут Лондон — Нью-Йорк образует заметную дугу, а Мадрид — Буэнос-Айрес, пересекающий экватор, выглядит почти прямым.

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

Попробуйте: перетащите маркеры

Сначала два маркера ниже стоят в Лондоне и Нью-Йорке. Перетащите любой из них в любую точку мира — и расстояние обновится. Синяя линия между ними — дуга большого круга, та самая натянутая нитка; бледная серая линия — то, что нарисовала бы линейка на плоской карте. Сдвиньте пару дальше на север — и синяя линия изогнётся сильнее; опустите её к экватору — и обе линии почти сольются.

Загрузка карты…

Перетащите маркер A или B в любое место карты. Синяя линия — кратчайший путь по глобусу, серая — прямая на плоской карте; расстояние пересчитывается, пока вы их перемещаете.

Точка A
Точка B
Расстояние
5 576,5 км
5 576 462 м

Координаты можно ввести и здесь.

Что делает формула гаверсинусов, простыми словами

Формула гаверсинусов — это способ, которым компьютер измеряет нитку без глобуса. Она берёт две координаты каждого места: широту (насколько севернее или южнее экватора) и долготу (насколько восточнее или западнее Гринвичского меридиана), — и делает две вещи:

  1. Определяет, какой величины кусок глобуса разделяет две точки: угол между ними, если смотреть из центра Земли. Мадрид и Барселону разделяют примерно четыре с половиной градуса из 360 полного оборота.
  2. Переводит этот кусок в километры, используя размер Земли. Полный оборот вокруг планеты — около 40 000 км, так что четыре с половиной градуса — это примерно 500 км.

Вся хитрость — в шаге 1. Градус долготы на экваторе — это немало, около 111 км, а на полюсах, где сходятся все меридианы, он сжимается до нуля. Формула это знает и вносит поправку, поэтому одинаково хорошо работает и между двумя норвежскими городками, и между двумя бразильскими.

Странное название происходит от старой тригонометрической функции — гаверсинуса, которую моряки в XIX веке держали в печатных таблицах, потому что она позволяла легко выполнить именно этот расчёт вручную, на корабле. Компьютерная версия — та же идея, записанная в дюжине строк кода.

Посчитайте сами

Если хотите увидеть, как на самом деле выглядит формула, проследить расчёт Нью-Йорк — Лондон число за числом, скопировать рабочую версию на JavaScript и узнать, насколько она точна на планете, которая не является идеальным шаром, откройте калькулятор гаверсинусов. Там та же интерактивная карта, где каждое промежуточное значение формулы пересчитывается, пока вы перетаскиваете маркеры.

Чтобы узнать расстояние по прямой между любыми двумя местами, а также расстояние по дорогам и примерное время полёта, откройте калькулятор и введите два города или начните с маршрута Мадрид — Барселона.