The World Statistics Day celebration continues here in the Community. We all need reliable data for sound decision making. Do you have a data source that you trust most? Head over to Discussions to tell us about it.
Choose Language Hide Translation Bar
Staff (Retired)
3D Effects, Satellites, GPS

Just installed JMP 15! Looks great!


Early steps. I just re-discovered the gpsd GPS daemon running on my server from a long time ago...which I wound up not using then. One of the interesting values returned by a GPS device is the azimuth and elevation of the satellites it is listening to. I can use JMP's socket connection to the gpsd port to get those values (where before I used a Python script that wrote a file on the server that I later copied to JMP.) But to render something like this, I need a model of the Earth and GPS satellites...which is this post. Run the attached JSL; it makes a 3D model you can rotate with the mouse. This picture is static, but shows the relative size of the Earth and distance to a GPS satellite orbit.

20,200 KM above surface, 26,600 KM radius. Two complete orbits each sidereal day.20,200 KM above surface, 26,600 KM radius. Two complete orbits each sidereal day.

Normally the SimpleEarth bitmap is displayed in a flat graph:

Example of SimpleEarth from the Air Traffic.JMP sampleExample of SimpleEarth from the Air Traffic.JMP sample

But the bitmap is also available (in a low res form) as eight tiles. The JSL assembles those tiles into a single bitmap and resizes them to an even lower resolution (for performance) and builds the sphere model from a set of four-sided polygons with different color pixels at each corner. The 3D engine shows the polygons smoothly shaded, and with a smooth lighting effect. With 1-degree polygons, there are only 360x180 == 64,800 polygons and the performance is still pretty good. Creating the model does take about 10 seconds, but the JSL keeps the model in a reusable display list. Quite a bit of the JSL was borrowed and modified from two of the 3D samples in JMP: MaterialAndLight.jsl and Sheet.jsl. Look for them in the Samples/Scripts/Scene3D directory.

Also, @jlsalmon has a similar idea, using points rather than shaded polygons.

Article Labels

    There are no labels assigned to this post.

Article Tags