Skip to content

ReplacedSpace17/Stellarium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌌 Stellarium: Interactive 3D Orrery & NEO Tracker

NASA Space Apps 2024 React Three.js Vite

Stellarium es un planetario digital de alta fidelidad diseñado para visualizar la compleja dinámica orbital de nuestro Sistema Solar, con un enfoque especializado en Objetos Cercanos a la Tierra (NEOs). Desarrollado originalmente para el NASA Space Apps Challenge 2024, este software integra datos astronómicos reales con renderizado interactivo en 3D.


🔬 Descripción Técnica

A diferencia de los modelos estáticos, Stellarium funciona como un propagador orbital. La aplicación calcula la posición de los cuerpos celestes basándose en los Elementos Orbitales Keplerianos proporcionados por el Laboratorio de Propulsión a Chorro (JPL) de la NASA.

Implementaciones Clave:

  • Mecánica Orbital: Algoritmos para convertir parámetros Keplerianos de 6 grados de libertad ($e, a, i, \Omega, \omega, M$) en coordenadas cartesianas ($x, y, z$).
  • Gestión de Activos 3D: Carga optimizada de modelos .glb de alta resolución para planetas y asteroides específicos como Bennu, Eros e Itokawa.
  • Filtrado de Datos: Clasificación dinámica de objetos: Asteroides Potencialmente Peligrosos (PHAs), Cometas y NEAs.

📂 Arquitectura del Proyecto

El proyecto sigue una estructura modular para separar la lógica matemática del renderizado visual:

Stellarium/
├── 📁 public/
│   ├── 📁 models/              # Organización por tipo de activo
│   │   ├── 📁 asteroids/       # glb: bennu, eros, itokawa...
│   │   └── 📁 planets/         # glb: Tierra, Marte, Sol...
│   └── 🖼️ favicon.svg
├── 📁 src/
│   ├── 📁 assets/              # Texturas e imágenes estáticas
│   ├── 📁 components/          # Componentes de UI y Layout
│   │   ├── 📁 layout/          # Navbar, Sidebars, HUD de información
│   │   └── 📁 view/            # Canvas principal y Contenedores 3D
│   ├── 📁 data/                # JSONs de efemérides y parámetros Keplerianos
│   ├── 📁 hooks/               # Lógica de React reutilizable
│   ├── 📁 scene/               # El "Core" de Three.js / R3F
│   │   ├── 📁 entities/        # Modelos individuales (Planet.jsx, Asteroid.jsx)
│   │   ├── 📁 mechanics/       # Órbitas y propagadores (OrbitalPropagator.js)
│   │   └── 📄 Stage.jsx        # Configuración de luces, cámaras y entorno
│   ├── 📁 utils/               # Funciones matemáticas (Conversión Kepler -> Cartesiano)
│   ├── 📄 App.jsx              # Punto de entrada de la aplicación
│   └── 📄 main.jsx
├── 📄 .gitignore
├── 📄 package.json
└── 📝 README.md

☄️ Cuerpos Celestes Incluidos

  • Todos los planetas desde Mercurio hasta Neptuno.
  • Asteroides: Bennu, Eros e Itokawa.
  • Trayectorias orbitales en tiempo real.

🛠️ Instalación y Desarrollo

git clone https://github.com/ReplacedSpace17/Stellarium.git
cd Stellarium
npm install
npm run dev

📈 Roadmap

  • Integración con API CNEOS (NASA)
  • Simulación de defensa planetaria
  • Soporte WebXR

👨‍💻 Autor

Javier Gutierrez-Ramirez\

🤝 Contributing

¡Las contribuciones son lo que hacen que la comunidad científica y tecnológica sea un lugar increíble para aprender e inspirar! Cualquier aportación que hagas será muy valorada.

Pasos para contribuir:

  1. Fork el proyecto.
  2. Crea una Branch para tu mejora:
    git checkout -b feature/MejoraIncreible
  3. Realiza tus Changes (siguiendo las mejores prácticas de código).
  4. Haz un Commit de tus cambios:
    git commit -m 'Add: Se agregó funcionalidad de trayectoria de cometas'
  5. Haz un Push a la rama:
    git checkout -b feature/MejoraIncreible
  6. Abre un Pull Request.

Áreas de interés para colaborar:

  • Optimización de Efemérides: Mejora en el cálculo de perturbaciones gravitacionales.
  • UI/UX: Implementación de un HUD (Heads-Up Display) más inmersivo.
  • Modelado 3D: Optimización de mallas .glb para dispositivos móviles.
  • Data Science: Scripts para automatizar la actualización de los archivos JSON desde la API de la NASA.

About

Interactive 3D Solar System Orrery developed for the 2024 NASA Space Apps Challenge. Features real-time Near-Earth Objects (NEOs) visualization using NASA's Keplerian parameters and orbital mechanics.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors