Created for NASA Space Apps PS - "Exosky", where we had to simulate how the night sky would look like from different exoplanets!
This is an interactive 3D planetarium built using Three.js. Backend is written in Python Flask. The star dataset is from the Hipparcos catalog and exoplanets from NASA Exoplanet Archive.
- Exoplanet Night Sky Simulation: Visualize the night sky as seen from various exoplanets, with star positions and brightness recalculated based on your chosen vantage point.
- Real Astronomical Data: Built using the Hipparcos star catalog and NASA Exoplanet Archive for accurate exoplanet coordinates.
- Interactive 3D Planetarium: Built using Three.js, you explore the sky in a smooth, immersive 3D environment.
- Custom Constellations: Draw and save your own constellations unique to each exoplanet’s sky.
- Screenshot Capture: You can even save snapshots of your custom constellations.
- Exoplanet Selection: Choose from some common well-known exoplanets or input custom exoplanet data (in NASA Exoplanet Archive format).
- Star Data Processing:
- Starts with the Hipparcos catalog by fetching Right Ascension, Declination, distance, and apparent magnitude as seen from Earth.
- Convert these into 3D coordinates and calculates absolute magnitude.
- Exoplanet Positioning:
- Get 3D coordinates of exoplanets from the NASA Exoplanet Archive.
- Compute the relative distance and orientation of stars from each exoplanet’s perspective.
- Sky Calculation:
- Recalculate RA, Dec, and apparent magnitude of stars as they’d appear from the chosen exoplanet.
- Visualization:
- Render the starfield in a 3D planetarium using Three.js, allowing users to explore, draw constellations, and save their view.
- Backend: Python, Flask
- Frontend: Three.js (JavaScript), HTML, CSS
- Data Sources:
- Hipparcos Catalog (stellar data)
- NASA Exoplanet Archive (exoplanet data)
- Either clone and run locally, or visit https://astrophy-geek.github.io/stellargaze to try it out!
- Launch the app and select an exoplanet from the list, or input your own exoplanet data.
- Explore the 3D starfield, zoom, and pan to view the sky.
- Use the key 'c' and then click two points to draw a constellation line!
- Hit the camera icon to capture your view.
- Change ambient lighting and limiting magnitude of stars using the sliders.
- Use the trash icon to remove custom constellations.
- Toggle the Earth icon to show/hide the ground!
IMP: The free instance hosted on render spins down with inactivity, which can delay requests by 50 seconds or more. So please wait if it shows loading for too long!
I am looking to work further on this and create this into a full fledged simulator for educational purposes!
Contributions are welcome!