[SOLUCIONADO] Representación Elevación y Azimut en el plano

Hola,

Estoy tratando de representar la posición de los satélites gps en el plano, coordenadas X e Y.
Utilizo la librería TinyGps++.

Obtengo para cada satélite su Azimut (0…359) y su elevación (0…90).

Mi problema es al calcular con esos datos la posición de las coordenada X e Y…sobre todo para la elevación. Creo entender la teoría, pero no soy capaz de plasmar las relaciones trigonométricas necesarias.

He podido representar la relación con el azimut bien, pero no así con la elevación, que me sale cambiada, es decir, cuando la elevación es 90, el punto no me sale en el centro (origen de coordenadas) sino donde debería ser 0 (en el borde de un teórico círculo), y viceversa.

Las relaciones que he utilizado son las siguientes:
x = elevation_sin(radians(azimuth)_
y = elevation_cos(radians(azimuth)
Gracias y un saludo!_

Buenas.
No sé lo que exactamente quieres hacer, pero imagino que será una representación en una pantalla gráfica, representando una circunferencia y dentro de ella los puntos representando los satelites (más o menos como se hace en un GPS).

planoA.png

Así que tendremos una circunferencia de radio R pixels. Y tenemos la elevación y el azimut y queremos pasar esos angulos a puntos x e y. Así que hay que hacer una proyección.

En la imagen verás que necesitamos saber el segmento H. Dicho segmento nos lo va a dar la elevación y para hacer la proyección aplicamos trigonometria.

planoB.png

Así que tenemos que H (proyección de la elevación) vale R*cos(elevación).

Conocida H podemos hacer una proyección del azimut. Para ello volvemos a aplicar trigonometrica en nuestra circunferencia de radio R.

planoC.png

Con lo que al final tendremos un punto (x, y)

x = R * cos(elevacion) * sin(azimut)
y = R * cos(elevacion) * cos(azimut)

Consideraciones:

Los grados no olvides pasarlos a radianes para las funciones seno y coseno.

Las coordenadas (x, y) deben ser relativas al centro de la circunferencia.

No olvides que en una pantalla el eje x va de izquierda a derecha los valores positivos, pero en el eje y van de arriba hacia abajo los valores positivos.

En programación gráfica generalmente el ángulo 0 no es el vertical como en las imagenes si no el horizontal, así que hay que "trasladar" los angulos para tener una representación gráfica correcta.

planoA.png

planoB.png

planoC.png

¡Muchísimas gracias!

Una explicación impecable, las consideraciones las tenía en cuenta pero me ha parecido genial que las indicaras ya que son de ayuda para cualquiera que lo necesite.

Efectivamente se trataba de representar los satélites gps en una circunferencia al uso de las aplicaciones gps móviles, por ejemplo.

Esta integrado en una aplicación para drones que estoy desarrollando en arduino y processing.

Un saludo