Exceso esférico de un triángulo
Como todos sabemos, la suma de los ángulos de cualquier triángulo plano es igual a 180 grados.
Sin embargo, para un triángulo esférico, la suma de los ángulos siempre es mayor que 180 grados. La diferencia entre la suma de los ángulos del triángulo esférico y 180 grados se llama exceso esférico . La tarea es calcular el exceso esférico de un triángulo con coordenadas de vértice dadas.
Algunos antecedentes
Un triángulo esférico es una parte de la esfera definida por tres grandes círculos de la esfera.
Tanto los lados como los ángulos del triángulo esférico se miden en el término de la medida del ángulo, porque cada lado puede considerarse como una intersección de la esfera y un ángulo plano con vértice en el centro de la esfera:
Cada tres círculos grandes distintos definen 8 triángulos, pero solo tomamos en cuenta los triángulos apropiados , es decir. triángulos cuyo ángulo y medidas laterales satisfacen
Es conveniente definir los vértices de un triángulo en términos de sistema de coordenadas geográficas. Para calcular la longitud de un arco de esfera dada la longitud λ y la latitud Φ de sus extremos, podemos usar la fórmula:
, dónde
o más explícitamente:
(fuente: https://en.wikipedia.org/wiki/Haversine_formula )
Las dos fórmulas básicas que se pueden usar para resolver un triángulo esférico son:
- la ley de cosenos:
- la ley de los senos
(fuente: https://en.wikipedia.org/wiki/Spherical_trigonometry#Cosine_rules_and_sine_rules )
Dados tres lados, es fácil calcular los ángulos usando la regla del coseno:
Finalmente, se define el exceso esférico de un triángulo:
Lo interesante de la relación entre el exceso esférico de un triángulo y su área:
Entonces, en una esfera unitaria, ¡el exceso de un triángulo es igual al área de ese triángulo!
La tarea
Escriba una función o un programa que calcule el exceso esférico de un triángulo en grados, dadas las coordenadas de los vértices del triángulo. Las coordenadas de vértice se proporcionan en términos de sistema de coordenadas geográficas.
Cada vértice debe pasarse en forma [latitude in degrees][N|S][longitude in degrees][E|W]
. La longitud y / E
o W
se pueden omitir cuando la latitud es 90, es decir. 90N
, 90S
, 10N100E
, 30S20W
Son descripciones adecuadas de vértices, mientras que 80N
, o 55S
no lo son.
Las latitudes y longitudes son siempre enteras en los casos de prueba.
Se aceptarán las respuestas con un error inferior a un grado (como en los ejemplos a continuación). El resultado puede representarse como real o entero, por lo tanto, según su conveniencia.
Ejemplos
Entrada
90N0E
0N0E
0N90E
Salida
89.999989
Entrada
90N
0N0E
0N90E
Salida
89.999989
Entrada
0N0E
0N179E
90N0E
Salida
178.998863
Entrada
10N10E
70N20W
70N40E
Salida
11.969793
En todos los casos de prueba, longitud y latitud son números enteros. Analizar las coordenadas de los vértices es la parte de la tarea, por lo que un vértice debe pasar como cuerda suelta / literal, no está permitido pasar 80N20E
como cuatro parámetros: / cuerdas 80
, N
, 20
, E
.
Esto garantiza que los vértices son todos distintos y ninguno de los tres vértices forma un par de puntos antipodales.
Puntuación
Este es el código de golf , por lo que gana el código más corto.