Как рассчитывается направление киблы
За стрелкой стоят немного сферической геометрии и крошечный магнитный датчик. Вот как работает и то и другое — простыми словами.
Что такое кибла
Кибла — это направление на Каабу в Заповедной мечети (Масджид аль-Харам) в Мекке, к которой мусульмане обращаются во время молитвы. Al Qibla Finder использует координаты Каабы, 21,4225° с. ш., 39,8262° в. д., как цель каждого расчёта.
Почему кратчайший путь изогнут
Земля — шар, а кратчайший путь между двумя точками на шаре проходит по большому кругу, как маршруты дальних авиарейсов. На плоской карте этот путь выглядит изогнутым, поэтому настоящая кибла часто отличается от того, что подсказывает прямая линия.
Из Нью-Йорка прямая линия на обычной карте мира указывает на восток-юго-восток. Но настоящая кибла там примерно 58° по часовой стрелке от севера, то есть на северо-восток, потому что кратчайший путь проходит над Северной Атлантикой.
Формула
Если ваша широта — φ, долгота — λ, а широта и долгота Каабы — φK и λK, то направление θ, отсчитанное по часовой стрелке от истинного севера, равно:
θ = atan2( sin(Δλ) · cos(φK),
cos(φ) · sin(φK) − sin(φ) · cos(φK) · cos(Δλ) )
где Δλ = λK − λ
Расстояние до Каабы считается по формуле гаверсинусов со средним радиусом Земли 6371 км. Оба расчёта выполняются мгновенно на вашем устройстве, без обращения к какому-либо серверу.
Как телефон понимает, куда он направлен
В большинстве телефонов есть магнитометр — маленький датчик, измеряющий магнитное поле Земли. Телефон объединяет его данные с датчиками движения, чтобы определить, куда смотрит верхний край экрана. Браузер передаёт это направление странице, и циферблат поворачивается так, чтобы отметка Каабы оставалась на кибле, пока вы поворачиваетесь.
На iPhone и iPad Safari спрашивает разрешение, прежде чем передать данные о движении и ориентации, — поэтому появляется дополнительный запрос.
Магнитный и истинный север
Угол киблы отсчитывается от истинного севера — направления на Северный полюс. Компасы телефонов опираются на магнитное поле, которое может отличаться на несколько градусов. На большей части Ближнего Востока, Африки, Европы и Азии разница невелика. В некоторых районах Северной Америки она достигает 10° и больше, поэтому полезно быстро сверить направление с известным ориентиром.
Откуда берётся ваше местоположение
Когда вы разрешаете доступ к геолокации, браузер получает координаты через GPS, Wi-Fi или мобильную сеть. Приблизительного местоположения достаточно: ошибка в несколько километров меняет угол лишь на крошечную долю градуса. Если не хотите делиться местоположением, просто выберите свой город — результат будет столь же полезным.