Estos nombres se derivan del hecho de que habitualmente se escriben en términos de la función haversine, dada por hav( θ ) = sin 2 (θ/2) . Las fórmulas también podrían escribirse en términos de cualquier múltiplo del haversine, como la función versine más antigua (el doble del haversine). Antes de la llegada de las computadoras, la eliminación de la división y la multiplicación por factores de dos resultó lo suficientemente conveniente como para que se incluyeran tablas de valores haversine y logaritmos en los textos trigonométricos y de navegación del siglo XIX y principios del XX. [6] [7] [8] Hoy en día, la forma haversine también es conveniente porque no tiene coeficiente delante de la función sen 2 .
Un diagrama que ilustra la distancia del círculo máximo (dibujado en rojo) entre dos puntos de una esfera, P y Q. También se muestran dos puntos antípodas , u y v.
Formulación
Sea el ángulo central θ entre dos puntos cualesquiera de una esfera:
La fórmula haversine permite calcular el haversine de θ (es decir, hav( θ ) ) directamente a partir de la latitud (representada por φ ) y la longitud (representada por λ ) de los dos puntos:
dónde
φ 1 , φ 2 son la latitud del punto 1 y la latitud del punto 2,
λ 1 , λ 2 son la longitud del punto 1 y la longitud del punto 2.
Finalmente, la función haversine hav( θ ) , aplicada anteriormente tanto al ángulo central θ como a las diferencias en latitud y longitud, es
La función haversine calcula la mitad de un verseno del ángulo θ , o los cuadrados de la media cuerda del ángulo en un círculo unitario (esfera).
Para resolver la distancia d , aplique el archaverseno ( haversine inverso ) a h = hav( θ ) o use la función arcoseno (seno inverso):
o más explícitamente:
[9]
Esto se puede transformar aún más para reducir algunas operaciones matemáticas:
Al utilizar estas fórmulas, hay que asegurarse de que h no exceda 1 debido a un error de punto flotante ( d es real sólo para 0 ≤ h ≤ 1 ). h solo se acerca a 1 para los puntos antípodas (en lados opuestos de la esfera); en esta región, tienden a surgir errores numéricos relativamente grandes en la fórmula cuando se usa precisión finita. Debido a que d es entonces grande (se acerca a π R , la mitad de la circunferencia), un pequeño error a menudo no es una preocupación importante en este caso inusual (aunque existen otras fórmulas de distancia de círculo máximo que evitan este problema). (La fórmula anterior a veces se escribe en términos de la función arcotangente , pero adolece de problemas numéricos similares cerca de h = 1 ).
Como se describe a continuación, se puede escribir una fórmula similar usando cosenos (a veces llamados ley esférica de los cosenos , que no debe confundirse con la ley de los cosenos para la geometría plana) en lugar de haversenos, pero si los dos puntos están muy juntos (por ejemplo, un kilómetro aparte, en la Tierra) uno podría terminar con cos(d/R) = 0,99999999 , lo que lleva a una respuesta inexacta. Dado que la fórmula haversine utiliza senos, evita ese problema.
Cualquiera de las fórmulas es sólo una aproximación cuando se aplica a la Tierra , que no es una esfera perfecta: el " radio de la Tierra " R varía de 6356,752 km en los polos a 6378,137 km en el ecuador. Más importante aún, el radio de curvatura de una línea norte-sur en la superficie terrestre es un 1% mayor en los polos (≈6399,594 km) que en el ecuador (≈6335,439 km), por lo que no se pueden garantizar la fórmula del seno de Havers y la ley de los cosenos. correcto a mejor que 0,5%. [ cita necesaria ] Las fórmulas de Vincenty y las otras fórmulas del artículo sobre distancia geográfica proporcionan métodos más precisos que consideran la elipticidad de la Tierra .
La ley de Haversines.
Triángulo esférico resuelto por la ley de haversines.
Dada una esfera unitaria, un "triángulo" en la superficie de la esfera está definido por los círculos máximos que conectan tres puntos u , v y w en la esfera. Si las longitudes de estos tres lados son a (de u a v ), b (de u a w ) y c (de v a w ), y el ángulo de la esquina opuesta a c es C , entonces la ley de los haversinos establece : [10]
Dado que se trata de una esfera unitaria, las longitudes a , b y c son simplemente iguales a los ángulos (en radianes ) subtendidos por esos lados desde el centro de la esfera (para una esfera no unitaria, cada una de estas longitudes de arco es igual a su ángulo central multiplicado por el radio R de la esfera).
Para obtener la fórmula haversine del apartado anterior a partir de esta ley, simplemente se considera el caso especial donde u es el polo norte , mientras que v y w son los dos puntos cuya separación d se quiere determinar. En ese caso, a y b sonπ/2− φ 1,2 (es decir, las co-latitudes), C es la separación de longitud λ 2 − λ 1 , y c es la separación de longitud deseadad/R. Observando que el pecado (π/2− φ ) = cos( φ ) , la fórmula haversine sigue inmediatamente.
Como se mencionó anteriormente, esta fórmula es una forma mal condicionada de resolver c cuando c es pequeño. En su lugar, sustituimos la identidad que cos( θ ) = 1 − 2 hav( θ ) , y también empleamos la identidad de suma cos( a − b ) = cos( a ) cos( b ) + sin( a ) sin( b ) , para obtener la ley de haversines, arriba.
Considere dos puntos en la esfera unitaria , dada por su latitud y longitud :
Estas representaciones son muy similares a las coordenadas esféricas , sin embargo la latitud se mide como ángulo respecto al ecuador y no al polo norte. Estos puntos tienen las siguientes representaciones en coordenadas cartesianas:
Desde aquí podríamos intentar calcular directamente el producto escalar y continuar, sin embargo las fórmulas se vuelven significativamente más simples cuando consideramos el siguiente hecho: la distancia entre los dos puntos no cambiará si rotamos la esfera a lo largo del eje z. De hecho, esto agregará una constante a . Tenga en cuenta que consideraciones similares no se aplican a la transformación de latitudes: agregar una constante a las latitudes puede cambiar la distancia entre los puntos. Al elegir nuestra constante ser y establecer , nuestros nuevos puntos se convierten en:
^ de Mendoza y Ríos, José (1795). Memoria sobre algunos métodos nuevos de calcular la longitud por las distancias lunares: y aplicación de su teórica á la solución de otros problemas de navegación (en español). Madrid, España: Imprenta Real.
^ Cajori, Florian (1952) [1929]. Una historia de las notaciones matemáticas. vol. 2 (2 (tercera impresión corregida del número de 1929) ed.). Chicago: editorial Open Court . pag. 172.ISBN978-1-60206-714-1. 1602067147 . Consultado el 11 de noviembre de 2015 . El haversine aparece por primera vez en las tablas de versinos logarítmicos de José de Mendoza y Ríos (Madrid, 1801, también 1805, 1809), y posteriormente en un tratado sobre navegación de James Inman (1821).(NB. ISBN y enlace para la reimpresión de la segunda edición de Cosimo, Inc., Nueva York, 2013.)
^ Inman, James (1835) [1821]. Navegación y astronomía náutica: para uso de marineros británicos (3 ed.). Londres, Reino Unido: W. Woodward, C. y J. Rivington . Consultado el 9 de noviembre de 2015 .(Cuarta edición: [1].)
^ HB Goodwin, The haversine en astronomía náutica, Actas del Instituto Naval , vol. 36, núm. 3 (1910), págs. 735–746: Evidentemente, si se emplea una tabla de Haversines nos ahorraremos en primera instancia la molestia de dividir la suma de los logaritmos por dos, y en segundo lugar, de multiplicar el ángulo tomado de las mesas por el mismo número. Ésta es la ventaja especial de la forma de mesa introducida por primera vez por el profesor Inman, del Portsmouth Royal Navy College, hace casi un siglo.
^ WW Sheppard y CC Soule, Navegación práctica (Instituto Técnico Mundial: Jersey City, 1922).
^ ER Hedrick, Tablas logarítmicas y trigonométricas (Macmillan, Nueva York, 1913).
^ Gade, Kenneth (2010). "Una representación de posición horizontal no singular". Revista de Navegación . 63 (3): 395–417. Código Bib : 2010JNav...63..395G. doi :10.1017/S0373463309990415. ISSN 0373-4633.
^ Korn, Grandino Arturo; Korn, Teresa M. (2000) [1922]. "Apéndice B: B9. Trigonometría plana y esférica: fórmulas expresadas en términos de la función Haversine". Manual matemático para científicos e ingenieros: definiciones, teoremas y fórmulas para referencia y revisión (3ª ed.). Mineola, Nueva York: Publicaciones de Dover . págs. 892–893. ISBN978-0-486-41147-7.
RW Sinnott, "Virtues of the Haversine", Sky and Telescope 68 (2), 159 (1984).
Derivando la fórmula de Haversine, Ask Dr. Math (20 y 21 de abril de 1999). [ enlace muerto ] Archivado el 20 de enero de 2020 en Wayback Machine.
Romuald Ireneus 'Scibor-Marchocki, Trigonometría esférica, página web de trigonometría de geometría elemental (1997).
W. Gellert, S. Gottwald, M. Hellwich, H. Kästner y H. Küstner, The VNR Concise Encyclopedia of Mathematics , 2ª ed., cap. 12 (Van Nostrand Reinhold: Nueva York, 1989).
enlaces externos
Implementaciones de la fórmula haversine en 91 idiomas en rosettacode.org y en 17 idiomas en codecodex.com Archivado el 14 de agosto de 2018 en Wayback Machine.
Otras implementaciones en C++, C (MacOS), Pascal Archivado el 16 de enero de 2019 en Wayback Machine , Python, Ruby, JavaScript, PHP Archivado el 12 de agosto de 2018 en Wayback Machine , Matlab Archivado el 13 de mayo de 2020 en Wayback Máquina , MySQL