Если координаты точек заданы в декартовой плоскости, то расстояние между ними
можем найти по теореме Пифагора. А если координаты заданы на сфере, в виде
широты и долготы? На сфере по мере движения от экватора к полюсу расстояние
между одинаковыми значениями широты сужается. Как вычислить расстояние между
точками? Попробуем разобраться.
Изобразим точку на сфере в координатах широты φ и долготы γ:
И пусть таких точек две, V1 и V2.
В 3-мерном векторном пространстве векторам V1 и V2 соответствуют задание через углы долготы γ1 и γ2 и широты φ1 и φ2:
V1=R(cosγ1cosφ1sinγ1cosφ1sinφ1)
V2=R(cosγ2cosφ2sinγ2cosφ2sinφ2)
здесь R - некий радиус сферы. В нашем случае он неважен.
Угол между векторами α в сочетании с радиусом R, если угол выражен в радианах, и дает расстояние между точками V1 и V2 на сфере. Конечно же, капитанов Жюля Верна интересует расстояние между точками не по прямой, сквозь Землю, а по сфере.
Угол α между векторами входит в их скалярное произведение:
(V1,V2)=R2cosα
Таким образом, можем получить выражение косинуса угла, сократив скалярное произведение на R2:
cosα=cosγ1cosφ1cosγ2cosφ2++sinγ1cosφ1sinγ2cosφ2++sinφ1sinφ2
Сумму первых двух членов можем сократить, используя формулу косинуса разности, итого получим:
cosα=cosφ1cosφ2cos(γ2−γ1)+sinφ1sinφ2
Именно эту формулу обычно и приводят в справочниках под названием угла ортодромии.
Но что считать расстоянием, если между двумия точками на окружности две дуги, и которую из них выбирать, наверное лучше решать по контексту задачи.
Комментариев нет:
Отправить комментарий