In this project, we modeled the Solar system based on real celestial mechanics. A system of ordinary differential equations is solved numerically with the actual positions and velocities of space bodies at January 1st, 1978 taken as the initial conditions. This application provides flexible control of the camera to observe the Sun, planets and satellites from different points, allowing you to watch this amazing physical process that is otherwise inaccessible to the human eye. It is possible to switch the observer’s location between space bodies and see, for example, a sunrise on Mars or, say, rings of Saturn from the point of view of its satellite Mimas. The standard 3D camera operations like rotation, panning, zooming etc. are supported.

The Sun and the planets are very small in comparison with the distances between them. As a result, the observer located on Pluto sees the Sun as just one of billions of other stars. Observation of the whole Solar system in quantitatively exact proportions does not provide a clear qualitative picture. This is why we provided a panorama mode in this application so that the user can watch the bodies in a much bigger size and closer to each other than they are in real life.

The core of the application is a dynamic-link library that calculates motion trajectories based on real physics. The 3D graphical user interface was implemented for Windows, Android and Web platforms with Unity. A simple 2D graphical user interface was implemented as well. It was developed as a prototype and used for testing of the core library.

Languages: C#

Solar System (1) Solar System (2)
Solar System (3) Solar System (4)
Solar System (5) Solar System (6)


“My first program taught me a lot about the errors that I was going to be making in the future, and also about how to find errors. That’s sort of the story of my life, making errors and trying to recover from them. I try to get things correct. I probably obsess about not making…

Donald E. Knuth