
( me recuerda a Pintura Cover the Earth Sherwin Williams (XXH0284) - Publicidad exterior de RC Maxwell Company - Bibliotecas Duke )
El archivo JSL adjunto (a continuación) no utiliza la zona horaria del Publicación anterior . (Pero lo hará pronto en una publicación). Por ahora, simplemente capture un conjunto de imágenes para hacer la animación.
Hay muchos sitios web que describen cómo hacer esto. Todos parecían complicados, así que probé algo simple. Parece producir resultados razonablemente correctos. La imagen de arriba representa un período de 24 horas a finales de octubre. El sol se ha desplazado hacia el sur; el hemisferio sur tiene días largos y el hemisferio norte tiene días cortos. ¿De dónde viene esa forma fascinante?
El sol brilla sobre la mitad de la tierra. La otra mitad está oscura. Es un poco contrario a la intuición, pero el gráfico anterior utiliza el anti-sol (a falta de un nombre mejor) para proyectar oscuridad en la mitad de la Tierra opuesta al sol.
Es bastante sencillo encontrar el punto de la Tierra directamente debajo del sol según la hora del día y la época del año. El sol oscila hasta 23,5 grados norte alrededor del 21 de junio y 23,5 grados sur el 21 de diciembre. En este modelo simplificado, el sol sigue una línea de tiempo simétrica en forma de seno, aunque creo que en realidad pasa más tiempo debajo del ecuador . Y, en el transcurso de 24 horas, el sol recorre 360 grados de longitud. Ese es el centro de la luz, o de la oscuridad en este caso.
¿Dónde están los bordes?El terminador es la línea crepuscular.Está a 90 grados del centro de la luz, en todas direcciones. Dibuja un círculo en el mapa, a 90 grados del centro del sol en la cara del mapa, y colorea el interior o el exterior. Encontré las matemáticas que necesitaba aquí , en forma de ecuación que responde a la pregunta "si empiezo en latitud y viajo X millas con un rumbo de B grados, ¿a qué latitud llegaré?"90 grados son aproximadamente 6000 millas en nuestro planeta de origen.
La siguiente pieza del rompecabezas es un ejemplo del índice de secuencias de comandos que dibuja una espiral usando la función XY.

¿Puedo poner un mapa detrás de eso?Haga clic derecho->Mapa de fondo->SimpleEarth...

¡Perfecto! ya no es una espiral circular, está siendo distorsionada por la proyección del mapa... que es exactamente lo que se necesita para proyectar el círculo de iluminación del sol también en el mapa plano. Mueva los ejes un poco (suelte el mouse para actualizar el mapa) y observe cómo la espiral cambia de forma para permanecer en las mismas áreas.


El ejemplo de la espiral genera valores de Y ligeramente superiores a 90. La punta misma de la proyección puntiaguda está empezando a mostrar una anomalía. No vayas allí.
Volviendo al gráfico día/noche: probé varias variaciones y esta es la más satisfactoria. Haga que el ancho de la línea de la espiral sea ancho, pero no demasiado. Y haga que el número de bucles en espiral sea grande, pero no demasiado. Haga que la línea sea de color negro y tal vez transparente (para una versión futura de JMP).El número de bucles en espiral comienza a ralentizar el gráfico después de un rato; 20 es rápido, 200 es lento. Con 20, necesitarás una línea más gruesa para sombrear todo lo que hay entremedio, pero las líneas más gruesas crean bordes más irregulares. JMP está cambiando sus herramientas de dibujo subyacentes en una próxima versión y la transparencia se verá genial en este ejemplo, pero para JMP 12, la transparencia en la espiral creará artefactos donde la línea gruesa se superpondrá.
Otra pieza del rompecabezas: con los fondos de mapas JMP, en realidad obtienes dos fondos, una imagen de mapa de bits y un dibujo lineal de límites.

Estas dos partes aparecen como capas separadas si observa el cuadro de diálogo de personalización del gráfico.

Tienen sus propias propiedades, pero lo más importante es que tienen sus propias posiciones como elementos 1 y 2 de la lista. Esto es importante, porque la "sombra nocturna" debe dibujarse encima de la imagen del mapa de fondo, y luego la forma del límite debe dibujarse encima (para obtener el efecto que se muestra en la parte superior de esta publicación). Entonces, la escritura en espiral se insertará en la posición 2.

que aparece en el cuadro de diálogo del gráfico personalizado entre el fondo y la forma. (El otro script está vacío, lo que tendrá sentido cuando vea el JSL adjunto a continuación).

Para ser justos con los sitios web con ejemplos complicados: pueden ser complicados porque están haciendo una proyección y averiguando dónde hacer el sombreado si se divide en varias regiones. Este código utiliza el soporte integrado para transformar coordenadas de datos en espacio de mapa.
El archivo adjunto probablemente todavía esté configurado para producir los 24 cuadros para la animación en su directorio $temp. Puede usar una utilidad GIF para hacer la animación, o puede cambiar el JSL para que no se repita o no cierre los 24 informes individuales.
La próxima vez: agregando algunas luces nocturnas...
Projected circle of sunlightProjected circle of sunlightProjected circle of sunlightProjected circle of sunlightCírculo de luz solar proyectado
Edición del 4 de enero de 2017: hay al menos un error en el JSL adjunto. Tal como está escrito, solo se ejecutará entre el 21 de junio y el 21 de diciembre debido a la interpolación del número del día actual. Algo como esto debería funcionar mejor:
currentangle = Interpolate( currentpoint, lowpoint-365, 2 * Pi(), highpoint, Pi(), lowpoint, 2 * Pi(), highpoint+365, Pi() );
El punto bajo es 356 y el punto alto es 173; representan los días en que el sol está muy al sur y muy al norte. LowPoint-365 es en diciembre del año anterior y HighPoint+365 es en junio del próximo año. Ahora la interpolación tiene la posibilidad de obtener un resultado que no falte durante todo el año.