sábado, 11 de abril de 2026

Un día en la Luna con R

Para celebrar que los integrantes de la misión Artemis II han vuelto a la Tierra sanos y salvos, a partir de los mapas de elevaciones y de color de la superficie de la Luna que nos regala la NASA, he hecho una animación en falso 3D de lo que sería un día lunar completo visto desde el espacio, el cual dura 29,5 días terrestres.

Del mapa de elevaciones se deriva un hillshade del que obtendremos el relieve de los cráteres y llanuras (hacer clic para ver en alta resolución):



Por otro lado el mapa de color lo saturamos un poco para poner de manifiesto que la Luna presenta tonalidades aunque a simple vista nos parezca gris (hacer clic para ver en alta resolución):



Combinamos ambas fuentes de información en una imagen final donde se prioriza el grafismo frente al realismo (hacer clic para ver en alta resolución):



Mapeamos la anterior proyección equirectangular por secciones visibles (50% del ancho) sobre vistas ortográficas que representarían la forma en que la Luna se ve desde un lugar alejado del espacio. Previamente a cada vista ortográfica, añadimos a cada sección equirectangular procesada una máscara para simular una parte oscura por no impactar el Sol en ella (hacer clic para ver en alta resolución):



Replicando el proceso para recorrer todas las secciones del mapa, construimos una animación de una rotación completa de la Luna que puede verse en moonday.mp4.

Si nos fijamos, en los bordes de la esfera sufrimos un claro aliasing. El algoritmo bilineal básico que usamos para generer las imágenes ortográficas finales se queda corto ante la gran compresión de información realizada: los mapas de la NASA tienen una resolución de 5.760x2.880 píxeles, y estamos mapeando secciones cuadradas de 2.880x2.880 píxeles sobre imágenes esféricas finales de 1.000x1.000 píxeles.

Todos los cálculos (hillshade, proyección equirectangular a ortográfica, sombreado lunar) se han hecho en R base sin utilizar ninguna librería GIS, gráfica o 3D. Se ha usado la proyección ortográfica acelerada en C++ que construimos en 'Proyecciones marcianas con R'.

~~~

Por su falta de atmósfera y larga duración de la alternancia día/noche, la Luna es uno de los cuerpos del Sistema Solar con mayor diferencia de temperaturas en su superficie entre el día y la noche, que oscilan entre -130ºC y +120ºC. Los polos serían las áreas más "estables" con diferencias entre -50ºC y 0ºC, aunque se dan temperaturas perpétuas de hasta -230ºC en el interior de cráteres donde nunca impacta la luz solar.

Esto lleva a preguntarse qué hicieron los astronautas de las misiones Apollo para no congelarse o freirse: alunizaron de forma calculada en el amanecer lunar, con el Sol recién salido y temperaturas llevaderas entre -20ºC y +30ºC. Y esto lleva a la siguiente pregunta: dónde sería viable instalar una base lunar permanente que puedan poblar humanos?

~~~

Repositorio con el código R: GitHub.

No hay comentarios:

Publicar un comentario

Por claridad del blog, por favor trata de utilizar una sintaxis lo más correcta posible y no abusar del uso de emoticonos, mayúsculas y similares.