- The index page offers a streamlined interface for viewing Near-Earth Object (NEO) data retrieved from NASA's SBDB API.
- The orrery web app simulates the orbital motion of the eight planets in our solar system from 1900 to 2100. Users can adjust the simulation speed via a control panel and toggle visual elements such as orbits, labels, and axes for enhanced viewing.
- Create a Python virtual environment and install the packages listed in
requirements.txt
. - Run
flask run
in shell to launch the Flask development server locally. - Open a browser and access the index page at
http://127.0.0.1:5000/
. - Access the orrery web app at
http://127.0.0.1:5000/orrery
.
- Celestial Lab — Create an asteroid!.
- Input the mass, initial position and velocity, and give it a name.
- Launch your asteroid!
- Draw auxiliary visual objects, such as specific , eccentricity vectors
- Caution! Coordinate transformation problems. (To be fixed)
- Fixed Saturn's ring texture problem.
- Render the traces of 20 NEOs.
- Add textures for the Sun and planets.
- Include a starry sky background with Milky Way.
- Add rings of Saturn (
texture mapping has an issue, temporarily replaced with a white color) - Hovering over celestial objects with the mouse triggers a green glow
- Clicking on the mesh or label of a celestial object displays its information, currently printed in the console
- Add a dropdown menu containing checkboxes to toggle the display of different types of celestial objects (such as the Sun, planets, NEOs, PHAs, other asteroids, etc.)
- Compare calculated planetary positions with ephemerides for accuracy.
- Add an "impact risk" view that visualizes and emphasizes the proximity of Earth's orbit and some NEOs' orbits.
- Add more educational canvases that can be used to teach concepts such as Kepler's laws or the Sun-Earth–Moon system.
- Add planetary axial tilt and rotation, with special emphasis on Earth.
- Add the Moon 🌙 and more moons.
-
Orbital mechanics
-
Approximate Positions of the Planets provides the Keplerian elements of the 8 planets and some useful formulae.
-
Domain knowledge:
-
-
APIs
- NASA SBDB Query API — API
- NASA SBDB Query API — document, description about the parameters
- NASA Small-Body Database Query — GUI tool
- Lance798/orrery-app-backend — teammate's work
-
i18n & l10n with Flask