¡Acabo de instalar JMP 15! ¡Se ve muy bien!
Primeros pasos. Acabo de redescubrir el gpsd demonio GPS ejecutándose en mi servidor desde hace mucho tiempo ... que terminé sin usar entonces. Uno de los valores interesantes que devuelve un dispositivo GPS es el acimut y la elevación de los satélites que está escuchando. Puedo usar la conexión de socket de JMP al puerto gpsd para obtener esos valores (donde antes usaba un script de Python que escribía un archivo en el servidor que luego copié a JMP). Pero para hacer algo como este , necesito un modelo de la Tierra y los satélites GPS...que es este post. Ejecute el JSL adjunto; hace un modelo 3D que puedes rotar con el mouse. Esta imagen es estática, pero muestra el tamaño relativo de la Tierra y la distancia a la órbita de un satélite GPS.
20,200 KM above surface, 26,600 KM radius. Two complete orbits each sidereal day.20.200 KM sobre la superficie, 26.600 KM de radio. Dos órbitas completas cada día sideral.
Normalmente, el mapa de bits de SimpleEarth se muestra en un gráfico plano:
Example of SimpleEarth from the Air Traffic.JMP sampleEjemplo de SimpleEarth de la muestra Air Traffic.JMP
Pero el mapa de bits también está disponible (en formato de baja resolución) como ocho mosaicos. El JSL ensambla esos mosaicos en un solo mapa de bits y los redimensiona a una resolución aún más baja (para mejorar el rendimiento) y crea el modelo de esfera a partir de un conjunto de polígonos de cuatro lados con píxeles de diferentes colores en cada esquina. El motor 3D muestra los polígonos suavemente sombreados y con un suave efecto de iluminación. Con polígonos de 1 grado, solo hay 360x180 == 64 800 polígonos y el rendimiento sigue siendo bastante bueno. La creación del modelo lleva unos 10 segundos, pero JSL mantiene el modelo en una lista de visualización reutilizable. Gran parte del JSL se tomó prestado y se modificó de dos de las muestras 3D en JMP: MaterialAndLight.jsl y Sheet.jsl. Búsquelos en el directorio Samples/Scripts/Scene3D.
También, @jlsalmon tiene un parecido idea , utilizando puntos en lugar de polígonos sombreados.