Created a NavBall for Cesium

Hello Cesium community !

I am currently working in an interface between Orekit and Cesium, that I already presented briefly in this topic named OreCzml.

For this tool, I needed to create a NavBall for the user. Whiwh should looks like this :

In order to do so, I created a repository, where I added a few features to the UI of Cesium : link here.

To do so here are the steps that I followed :

  • I created a 3D model of a navball (you can find it in the repository : “public>navball.glb”)
  • I created a navball entity, knowing the position of the camera at any moment. Then converting the (x,y,z) cartesian position of the camera into spherical one. Adding a fixed offset in the spherical system, then converting back into the cartesian coordinates for the location of the navball. (You can find this at “src>index.js>from line 46 to 126”)
  • Loading the 3D model of the navball. (“src>index.js>line 166”)
  • (Not mandatory) Added a button to display or not the navball.

I hope this will help people that could need to do a navball with cesium.

If you have question about the navball or about anything related to the project, feel free to ask.

JL.

3 Likes

Hi :wave:,
Thank you so much for sharing your work with us. This looks awesome.
Your approach to use a 3D model to create the navball is really creative and I really like it.
Excited to see how other people use it!

1 Like

I just checked with our comms team, if you share this on social media please let us know and we would be happy to re-share it!

1 Like

Hello @Luke_McKinstry , I will propably not share it on social media, but you can if you want to reproduce it, but thank you !

For the moment, here is a display of what is looks like in Cesium:

forum cesium

The navball can’t be refreshed every seconds on the display because my computer is not powerfull enough (I don’t even have a GPU) but it should have a better result on better computers !

JL

2 Likes