A fórmula de haversine é uma importante equação usada em navegação, fornecendo distâncias entre dois pontos de uma esfera a partir de suas latitudes e longitudes. É um caso especial de uma fórmula mais geral de trigonometria esférica, a lei dos haversines, que relaciona os lados e ângulos de um triângulo contido em uma superfície esférica.

O nome haversine foi criado em 1835 pelo matemático e astrônomo James Inman. Estes nomes se devem ao fato de que são escritos nos termos da função haversine, dado por . As fórmulas podem ser igualmente escritas em termos de qualquer múltiplo do haversine, como a antiga função versine (duas vezes o haversine). Antes do uso de computadores, a eliminação da divisão e multiplicação por fatores de dois se provou suficientemente conveniente que tabelas de valores do haversine e logaritmos foram incluídos no século XIX e começo do século XX em livros de navegação e trigonometria. Atualmente a fórmula de haversine é também conveniente por não ter coeficiente na frente da função .

Formulação Definido o ângulo central entre dois pontos quaisquer de uma esfera ser:

onde:

é a distância entre os dois pontos ao longo de um círculo máximo da esfera (ver ortodromia), é o raio da esfera.

A fórmula de haversine permite que o haversine de (ou seja, o ) seja calculado direto pela latitude e longitude dos dois pontos:

onde:

, são a latitude do ponto 1 e a latitude do ponto 2 (em radianos), , são a longitude do ponto 1 e longitude do ponto 2 (em radianos).

Finalmente, a função haversine , aplicada acima para ambos o ângulo central e a diferenças na latitude e longitude é:

A função haversine computa metade da versine do ângulo .

Para resolver pela distância , aplica-se o arc versine (haversine inverso) para ou usa-se a função arco seno (inverso do seno):

Quando usamos estas fórmulas, devemos ter cuidado de assegurar que não seja maior que 1. só se aproxima de 1 pelo ponto antipodal (em lados opostos da esfera)—nesta região um número relativamente grande de erros tende a ocorrer na fórmula quando uma precisão finita é usada. Como é maior (aproximando-se de , metade da circunferência) um pequeno erro não causa preocupação nesse caso não usual (embora existam outras formulas da distância do Círculo máximo que evitam esse problema). A fórmula acima é algumas vezes escrita em termos da função arco tangente, mas sofre problemas similares quando fica próxima de .

Como descrito abaixo, uma fórmula similar pode ser escrita em termos de cossenos (algumas vezes chamada de lei esférica dos cossenos, não confundir com a lei dos cossenos da geometria plana) ao invés de haversines, mas sofre problemas de precisão para casos comuns de pequenas distâncias e ângulos o que reduz seu uso seriamente. Como a formula do haversine usa senos, ela evita esse problema.

Esta fórmula é só uma aproximação quando aplicada à Terra, porque esta não é uma esfera perfeita: seu raio varia de 6356,752 km nos pólos até 6378,137 km no equador. O raio de curvatura de uma linha norte-sul na superfície da terra é 1% maior nos polos (≈6399,594 km) que no equador (≈6335,439 km)—então a fórmula de haversine e lei dos cossenos não podem se garantir corretas a melhor que 0,5%.

A lei dos haversines Dada uma esfera unitária, um "triângulo" em sua superfície é definido pelo Círculo máximo conectando três pontos , , and na esfera. Se o comprimento destes três lados forem (de até ), (de até ), and (de até ), e o ângulo do canto oposto é , então a lei dos haversines estabelece que:

Sendo que é uma esfera unitária, os comprimentos de , , e são simplesmente iguais aos ângulos (em radianos) subentendidos por estes lados do centro da esfera (para uma esfera não unitária, cada um desses comprimentos de arco é igual ao seu ângulo central multiplicado pelo raio da esfera). right|thumb|Triângulo esférico resolvido pela lei dos haversines.

Para se obter a fórmula haversine da seção previa dessa lei, consideramos um caso especial quando é o pólo norte geográfico, enquanto e são dois pontos em que a separação é para se determinar. Neste caso, e são (ou seja, as co-latitudes), é separação de longitude , e é o desejado. Nota-se que , a fórmula de haversine segue imediatamente.

Para derivar a lei dos haversines, devemos começar com a lei esférica dos cossenos:

Como mencionado acima, esta fórmula é uma forma contra-indicada para resolver para quando é pequeno. Em vez disso, substituímos a igualdade que , e também empregamos a igualdade trigonométrica adição e subtração para obter a lei dos haversines acima.

Referências gerais U. S. Census Bureau Geographic Information Systems FAQ, What is the best way to calculate the distance between 2 points? (broken link; content has been mirrored here) R. W. Sinnott, "Virtues of the Haversine", Sky and Telescope 68 (2), 159 (1984). , Ask Dr. Math (Apr. 20–21, 1999). Romuald Ireneus 'Scibor-Marchocki, Spherical trigonometry, Elementary-Geometry Trigonometry web page (1997). W. Gellert, S. Gottwald, M. Hellwich, H. Kästner, and H. Küstner, The VNR Concise Encyclopedia of Mathematics, 2nd ed., ch. 12 (Van Nostrand Reinhold: New York, 1989).

Ligações externas

Implementações da fórmula de haversine em 91 linguagens de programação no rosettacode.org e em 17 linguagens de programação no codecodex.com Outras implementações em C++, C (MacOS), Pascal, Python, Ruby, JavaScript, PHP,Matlab, MySQL Exemplo de site que usa a fórmula de haversine para calcular distância entre as cidades do Brasil

Categoria:Trigonometria esférica