
( me recuerda a Cover the Earth Pintura 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á, en una publicación pronto). Por ahora, solo 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 fines 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 es oscura. Es un poco contrario a la intuición, pero el gráfico anterior usa el antisol (a falta de un nombre mejor) para proyectar oscuridad en la mitad de la tierra opuesta al sol.
Es bastante sencillo encontrar el punto en la tierra directamente bajo el sol según la hora del día y la época del año. El sol se desplaza hasta 23,5 grados al norte alrededor del 21 de junio y 23,5 grados al 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 por debajo del ecuador . Y, en el transcurso de 24 horas, el sol recorre 360 grados de longitud. Así que ese es el centro de la luz, o la oscuridad en este caso.
¿Dónde están los bordes?El terminador es la línea del crepúsculo.Está a 90 grados del centro de la luz, en todas las 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 la 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->BackgroundMap->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 la iluminación del sol también en el mapa plano. Mueve los ejes un poco (suelta el mouse para refrescar el mapa) y observa cómo la espiral cambia de forma para permanecer en las mismas áreas.


El ejemplo de la espiral genera valores Y ligeramente superiores a 90. La punta misma de la proyección puntiaguda comienza 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. Haz que el ancho de la línea de la espiral sea ancho, pero no demasiado ancho. Y haga que el número de bucles en espiral sea grande, pero no demasiado grande. 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á una línea más gruesa para sombrear todo lo que hay en el medio, 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á muy bien en este ejemplo, pero para JMP 12, la transparencia en espiral creará artefactos donde la línea gruesa se superpone.
Otra pieza del rompecabezas: con los fondos de mapa JMP, en realidad obtienes dos fondos, una imagen de mapa de bits y un dibujo lineal de límites.

Estas dos partes se muestran como capas separadas si observa el cuadro de diálogo personalizar gráfico.

Tienen sus propias propiedades, pero lo que es más importante, tienen sus propias posiciones como elementos 1 y 2 en la lista. Eso 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 en la parte superior de esta publicación). Entonces, el script en espiral se insertará en la posición 2.

que aparece en el cuadro de diálogo gráfico personalizado entre el fondo y la forma. (La otra secuencia de comandos está vacía, 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 incorporado 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 repita o no cierre los 24 informes individuales.
La próxima vez: agregando algunas luces nocturnas...
Projected circle of sunlightCírculo proyectado de luz solar
Edite el 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() );
LowPoint es 356 y HighPoint 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 oportunidad de obtener un resultado que no falte durante todo el año.