Estoy tratando de hacer una pequeña aplicación para dibujar círculos de cobertura de estaciones terrestres (antes de que alguien sugiera usar otro software, ¡disfruto haciendo este tipo de cosas yo mismo!)
Ya tengo un código que convierte las coordenadas de latitud y longitud de un punto en la superficie en puntos en un mapa de proyección de Mercator, así que ahora estoy dibujando los 'círculos' alrededor de estos.
También tengo la ecuación para calcular el rango inclinado (distancia máxima entre el satélite y la estación terrestre en la elevación mínima).
Esto es lo que hago actualmente:
Convierte la latitud, longitud y Re de las estaciones terrestres (coords esféricas) a x1, y1, z1 (coords cartesianas)
Convierta el rango de elevación, acimut e inclinación (coordenadas esféricas) a x2, y2, z2 (coords cartesianas) en el marco de referencia centrado en la estación terrestre
Traducir x2,y2,z2 de la parte 2 a centrado en la Tierra (x2+x1, y2+y1, z2+z1) llamemos a estos x3, y3, z3
Gire x3, y3, z3 para alinear con el marco de referencia centrado en la tierra, digamos x4, y4, z4
Convierta x4, y4, z4 en coordenadas esféricas y luego trace la latitud y la longitud que encontré.
En mi opinión, lo anterior debería darme los puntos correctos para trazar, sin embargo, hay un error en alguna parte. Sé que el paso 1 es correcto (la magnitud del vector es Re). Sé que el paso 2 es correcto ya que la magnitud del vector es el rango de inclinación. Pero aquí es donde encontré un problema... Sin embargo, no tengo idea de dónde está el problema.
Así es como lo resolvería:
Primero, las matemáticas son más fáciles si las coordenadas esféricas adecuadas se utilizan en lugar de la longitud y la latitud. La diferencia es la latitud es el ángulo desde el ecuador, mientras que es el ángulo desde el polo norte. Encontrar y de la longitud y la latitud,
¡Disfrutar!
Gerrit
elplanman
russell borogove