Fórmula del semiverseno

De Wikipedia, la enciclopedia libre
(Redirigido desde «Fórmula del Haversine»)
Ir a la navegación Ir a la búsqueda
Seno, coseno y verseno de θ sobre la base de la circunferencia goniométrica

La fórmula del semiverseno es una importante ecuación para la navegación astronómica, en cuanto al cálculo de la distancia de círculo máximo entre dos puntos de un globo sabiendo su longitud y su latitud. Es un caso especial de una fórmula más general de trigonometría esférica, la ley de los semiversenos, que relaciona los lados y ángulos de los "triángulos esféricos".[1]

Estos nombres derivan del hecho que suele expresarse en términos de la función semiverseno (haversine en inglés), dada por

haversin(θ) = sin2(θ/2)

Las fórmulas también podrían estar escritas en términos de cualquier múltiplo del semiverseno, como la antigua función verseno (el doble del semiverseno).

Pero históricamente, el semiverseno tuvo una ligera ventaja en su uso en el mar ya que su máximo es "1", por lo que las tablas logarítmicas de sus valores podían acabar con el valor cero. Hoy en día, la forma del semiverseno sigue siendo interesante, ya que no tiene ningún coeficiente delante de la función sin2.

En la época anterior a las calculadoras digitales, el uso de tablas náuticas detalladas para el semiverseno, semiverseno/inverso y sus logaritmos (para ayudar en las multiplicaciones) ahorró a los navegantes calcular los cuadrados de los senos, el cálculo de raíces cuadradas, etc., un proceso arduo y que podía agravar los pequeños errores (ver también verseno). En el caso del cálculo de longitud por las distancias lunares de José de Mendoza, redujo el proceso de 30 pasos a 7.

Fórmula del semiverseno[editar]

Para cualquier par de puntos sobre una esfera:

donde

haversin es la función semiverseno, haversin(θ) = sin2(θ / 2) = (1 - cos(θ)) / 2
d es la distancia entre dos puntos (sobre un círculo máximo de la esfera, véase distancia esférica),
R es el radio de la esfera,
φ1 es la latitud del punto 1,
φ2 es la latitud del punto 2, y
Δλ es la diferencia de longitudes

Hay que tener en cuenta que el argumento a la función semiverseno se supone que debe darse en radianes. En grados, haversin(d / R) de la fórmula se convertiría en haversin(180 · d / π R).

Entonces se puede resolver ya sea mediante la simple aplicación de la tabla de semiverseno inverso (si está disponible) o mediante el uso de la función arcoseno (arcsin):

donde

  • h es haversin(d / R)

Al utilizar estas fórmulas, se debe tener cuidado en asegurarse de que h no exceda 1 debido a un error de coma flotante (d es sólo real para h de 0 a 1). h sólo se aproxima a 1 en los puntos antipodales (en los lados opuestos de la esfera) —en esta región, tienden a surgir en la fórmula errores numéricos relativamente grandes cuando se utiliza una precisión finita—. Sin embargo, ya que d es entonces bastante 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 hay otras fórmulas de distancia de círculo máximo que evitan este problema). (La fórmula anterior se escribe a veces en términos de la función arcotangente, pero esta adolece de problemas numéricos similares con valores cerca de h = 1).

Como se describe a continuación, en lugar de semiversenos, también se puede escribir una fórmula similar, en términos del coseno —a veces llamada la ley esférica del coseno (a no confundir con la ley del coseno para la geometría plana)—, pero para el caso común de distancias pequeñas ... un pequeño error en los datos de entrada de la función "arccos" lleva a un gran error en el resultado final. Esto hace que la fórmula no sea apta para un uso general.

Esta fórmula es sólo una aproximación cuando se aplica a la Tierra, porque la Tierra no es una esfera perfecta: el radio de la Tierra R varía de 6356,78 kilómetros en los polos hasta 6378,14 kilómetros en el ecuador. Hay pequeñas correcciones, típicamente del orden de 0,1 % (p.e. suponiendo la media geométrica R = 6367,45 kilómetros que se utiliza en todas partes), a causa de esta ligera forma elipsoidal del planeta. Otro método más preciso, que tiene en cuenta la forma elipsoidal de la Tierra, viene dada por las fórmulas de Vincenty.

Ley del semiverseno[editar]

Dada una esfera unidad, un "triángulo esférico" en la superficie de la esfera se define por los tres círculos máximos que conectan tres puntos u, v y w sobre la esfera. Si los tres arcos que definen son: a (de u a v), b (de u a w), y c (de v a w), y el ángulo del vértice opuesto a c es C, entonces la ley del semiverseno dice:

(la ley del semiverseno)
Triángulo esférico resuelto por la ley del semiverseno.

Como se trata de una esfera unitaria, las longitudes a, b y c son simplemente iguales a los ángulos centrales (en radianes) que los definen a partir del centro de la esfera (para una esfera no unitaria, cada una de estos arcos es igual a su ángulo central multiplicado por el radio R de la esfera).

Para obtener la fórmula del semiverseno de la sección anterior de esta ley, simplemente se considera el caso especial donde u es el polo norte, mientras que w y v son los dos puntos entre los que se quiere determinar la distancia d. En este caso, a y b son π / 2 - φ1,2 (es decir, 90° – latitud), C es el incremento de longitud Δλ, y c es la distancia d / R que se quiere calcular. Teniendo en cuenta que sin(π / 2 - φ) = cos(φ), la fórmula del semiverseno se calcula como sigue:

Para deducir la ley del semiverseno, se parte de la ley esférica del coseno:

(teorema esférico del coseno)

Como se ha mencionado anteriormente, esta fórmula no es demasiado buena para la resolución de c cuando c es pequeño. En su lugar, se sustituye la identidad: cos(θ) = 1 - 2 hav(θ), y para obtener la ley del semiverseno citada más arriba, también se utiliza la identidad de la suma:

cos(ab) = cos(a)cos(b) + sin(a)sin(b)

Referencias[editar]

Bibliografía[editar]

Enlaces externos[editar]

  • La fórmula del semiverseno realizada en 9 lenguajes
  • [1] Aplicación en Javascript de la fórmula del semiverseno para encontrar la distancia entre dos puntos conociendo su latitud y longitud
  • [2] Aplicación en C++ de la fórmula del semiverseno para encontrar la distancia entre dos puntos conociendo su latitud y longitud
  • [3] Aplicación en Ruby de la fórmula del semiverseno para encontrar la distancia entre dos puntos conociendo su latitud y longitud
  • [4] Aplicación en [Python] de la fórmula del semiverseno para encontrar la distancia entre dos puntos conociendo su latitud y longitud
  • [5] Aplicación en C MacOS de la fórmula del semiverseno para encontrar la distancia entre dos puntos conociendo su código postal
  • [6] (aplicación de esta fórmula para el cálculo de la distancia entre Lats y Lons)
  • [7] Aplicación en [Pascal] de la fórmula del semiverseno para encontrar la distancia entre dos puntos conociendo su latitud y longitud
  • Cálculo de la distancia (en kilómetros o millas) en función de la latitud y longitud en PHP