This was made during the NASA Space Apps Challenge hackathon on the 5th and 6th of October, 2024. Together with my friends Max Vovk, Dakota Cecil and Ian Chow, I went to the local hackathon at the University of Waterloo, and we made this. The project is a JavaScript Web app of a physically based virtual interactive orrery. The app can display the main planets along with 5 dwarf planets (Ceres, Eris, Pluto, Haumea, and Makemake), and the population of near-Earth objects (NEOs) on the ESA risk list. In addition to asteroids, meteoroid streams are also shown. The displayed asteroids can be filtered based on their properties. The meteoroid streams are shown when the Earth passes close to them. Finally, the distribution of sporadic meteoroids can be displayed too.
The orbits of the objects are computed from their physical orbital elements, along with their specific epoch, allowing their true locations to be shown at the correct time. The flow of time can be set to real time, sped up, or reversed, to better see the motion of the objects. The objects are selectable and display an information window when clicked, providing data such the object name, its orbital parameters, asteroid class, and more.
The following objects are shown in the app:The project was built using a combination of JavaScript and HTML, with some Python for preprocessing the data of the various solar system bodies. The 3D rendering relied strongly on the use of the Three.js library, which facilitates the creation of 3D environments. The code and all assets can be found on the GitHub page.
The data used for this project was taken from the following sources: