PlanetClAUk is a project I’m working on my free-time, aiming to release for free on the Android app store / Google play. The AU in the name is a word play on the measurement Astronomical Unit. The app is using Unity and C#.
The essential feature of the app is to see where the current positions of major bodies in the solar system are (such as planets, dwarf-planets or asteroids of interest) with stable orbits, but also have the functionality to view the position of “unstable” bodies such as man-made satellites (for instance, Project InSight, currently in Mars Transfer Orbit).
To accomplish this there is two methods involved. One to provide a visualization of the orbits, and one to get the realtime positions of orbital bodies.
The first uses the regular equations of turning Keplerian Orbital Elements into Cartesian State Vectors, where namely the position vector is used to draw the orbit.
The other more flexible method is using the fantastic database HORIZONS provided by of NASA JPL. By accessing HORIZON this app gets the actual positions of any provided body (that the database contains of course).
Now you could argue it would be easier to calculate each body from the math stated above, and while this is true, its not super flexible i.e. if you want to add a new body you need to find its orbital elements and either manually enter it and/or automate the process somehow. I do lose the ability to rewind and forward the positions of planets by using this, but as the equations are in place, if i ever would want it, there wouldn’t be a to big of a hassle to convert it.
The advantage with this system is that it can easily enter new commands while connected to HORIZON to get a new body, information or variables.
The First prototype, drawing major orbits, fetching the current positions of planets via JPL HORIZONS, note the red spheres representing the satellites:
Project InSight(Closest to Earth, 3rd planet) and Tesla Roadster “Starman”
The second prototype got some textures and UI to represent the names of the orbital bodies. It also features a “accurate” rotating earth which should show the current position of the earths rotation, this updates every minute.
The basic functionality works right now, and development contiunes on my freetime, where i will start working on porting to android and GFX.
Keep an eye out for updates!