JMP 15 vient d'être installé ! Ça a l'air génial !
Premiers pas. je viens de redécouvrir le démon GPS gpsd en cours d'exécution sur mon serveur à partir de il y a longtemps ... que j'ai fini par ne pas utiliser à l'époque. L'une des valeurs intéressantes renvoyées par un appareil GPS est l'azimut et l'élévation des satellites qu'il écoute. Je peux utiliser la connexion socket de JMP au port gpsd pour obtenir ces valeurs (alors que j'utilisais auparavant un script Python qui écrivait un fichier sur le serveur que j'ai ensuite copié sur JMP.) Mais pour rendre quelque chose comme ce , j'ai besoin d'un modèle de la Terre et des satellites GPS... qui est ce poste. Exécutez le JSL joint ; il crée un modèle 3D que vous pouvez faire pivoter avec la souris. Cette image est statique, mais montre la taille relative de la Terre et la distance à l'orbite d'un satellite GPS.
20,200 KM above surface, 26,600 KM radius. Two complete orbits each sidereal day.20 200 KM au-dessus de la surface, 26 600 KM de rayon. Deux orbites complètes chaque jour sidéral.
Normalement, le bitmap SimpleEarth est affiché dans un graphique plat :
Example of SimpleEarth from the Air Traffic.JMP sampleExemple de SimpleEarth à partir de l'exemple Air Traffic.JMP
Mais le bitmap est également disponible (sous une forme basse résolution) sous forme de huit tuiles. Le JSL assemble ces tuiles en un seul bitmap et les redimensionne à une résolution encore plus faible (pour les performances) et construit le modèle de sphère à partir d'un ensemble de polygones à quatre côtés avec des pixels de couleurs différentes à chaque coin. Le moteur 3D affiche les polygones en douceur et avec un effet d'éclairage doux. Avec des polygones à 1 degré, il n'y a que 360x180 == 64 800 polygones et les performances sont toujours assez bonnes. La création du modèle prend environ 10 secondes, mais le JSL conserve le modèle dans une liste d'affichage réutilisable. Une bonne partie du JSL a été empruntée et modifiée à partir de deux des exemples 3D de JMP : MaterialAndLight.jsl et Sheet.jsl. Recherchez-les dans le répertoire Samples/Scripts/Scene3D.
Aussi, @jlsalmon a un semblable idée , en utilisant des points plutôt que des polygones ombrés.