ASTRO

ASTRO is a realistic 3D procedural star system simulator that offers immersive exploration of celestial mechanics using scientifically accurate models.

MIT License

Stars
3
Committers
1

ASTRO


Overview

ASTRO is a cutting-edge 3D procedural star system simulation that offers a realistic and immersive exploration of celestial mechanics. Developed using Three.js, ASTRO combines high-fidelity visuals with detailed physics and astrophysical modeling to create a scientifically accurate simulation of star systems.


Table of Contents

  1. Live Demo
  2. Changelog
  3. Features
  4. Installation
  5. Usage
  6. Configuration
  7. Contributing
  8. License
  9. Acknowledgments
  10. Contact

Live Demo

Experience the simulation in action by visiting the Live Demo. The project and demo were tested and developed on a semi-modern Windows desktop PC using the Google Chrome browser.


Changelog

Check out the Changelog for updates.


Features

Realistic Simulation

  • Celestial Bodies: Models a range of star types and planetary systems with scientifically accurate properties.
  • Star Systems: Simulates single and multi-star systems with realistic mass distributions. Stars are dynamically positioned based on their mass and gravitational influence.
  • Planets and Moons: Generates planets and moons with realistic sizes, orbits, and rotational properties. Each objects velocity and position are calculated to ensure stable, physically accurate interactions.
  • Orbital Mechanics: Uses Newtonian gravity and elliptical orbits to model planetary and moon trajectories. Advanced orbital dynamics include accurate velocities and escape velocities to prevent unrealistic spiraling.
  • Asteroids and Nebulae: Incorporates asteroid fields and nebulae with procedurally generated particles for added realism.
  • Dynamic Rings: Supports the creation of ring systems around planets with realistic textures and dynamic indicators.

Detailed Physical Properties

  • Mass and Gravity: Celestial bodies are assigned realistic masses and gravitational constants, affecting their interactions and orbital behavior.
  • Size and Scale: Objects are scaled based on real astronomical measurements, ensuring accurate relative sizes and distances.
  • Velocity and Acceleration: Implements realistic velocities for objects, preventing issues like spiraling into the central star. Velocity calculations account for gravitational forces and initial placements.
  • Spin and Rotation: Incorporates dynamic spin rates and rotational properties for stars, planets, and moons, based on astrophysical data.

Immersive Visuals

  • Textures and Materials: Applies detailed textures and realistic materials to celestial objects, enhancing visual fidelity.
  • Lighting: Utilizes ambient and point lighting to simulate natural illumination, including effects like star brightness and planetary shadows.
  • Post-Processing Effects: Includes bloom and other post-processing effects for a more cinematic and immersive experience.
  • Interactive Exploration: Provides intuitive camera controls for an immersive user experience, allowing users to explore the simulation from various angles.

Accurate Center of Mass

  • System Dynamics: Calculates the center of mass for multi-star systems, ensuring that all bodies orbit realistically around this central point.

Supported Objects

ASTRO currently supports a variety of celestial objects, each with unique characteristics and behaviors:

  • Stars:
    • Main Sequence: The most common type of star, including stars like our Sun.
    • Red Giant: Large, aging stars with expanded outer layers.
    • White Dwarf: Dense, compact remnants of medium-sized stars.
    • Blue Giant: Massive, hot stars with high luminosity.
    • Supergiant: Extremely large and luminous stars, often in the final stages of their evolution.
  • Planets:
    • Terrestrial Planets: Rocky planets similar to Earth, with solid surfaces.
    • Gas Giants: Large planets with thick gaseous atmospheres, like Jupiter.
    • Ice Giants: Planets with icy compositions, such as Uranus and Neptune.
    • Dwarf Planets: Small planetary bodies that do not dominate their orbits, like Pluto.
  • Moons:

    • Rocky Moons: Moons with solid surfaces, similar to Earth's Moon.
    • Icy Moons: Moons with significant ice coverage, like Europa.
  • Asteroids:

    • Asteroid Belts: Collections of rocky bodies, varying in size, orbiting a star.
  • Nebulae:

    • Nebula Particles: Clouds of gas and dust particles that add depth and realism to the star system.
  • Rings:

    • Planetary Rings: Rings composed of dust, rock, and ice that orbit around planets.

Installation

To run ASTRO locally, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/BlindByte98/ASTRO
    
  2. Navigate to the Project Directory:

    cd ASTRO
    
  3. Open the index.html File:

    Open the index.html file in your web browser to view the simulation. Alternatively, serve it locally using a simple HTTP server.

    npx http-server
    
  4. Access the Simulation:

    Open your browser and go to http://localhost:8080 (or the port specified by your HTTP server).


Usage

Explore the star system with interactive controls, observe celestial dynamics, and adjust simulation settings for a personalized experience.


Configuration

Modify simulation parameters in the index.html file to adjust star types, planetary properties, and orbital mechanics.


Contributing

We welcome and value contributions to the ASTRO simulation. To ensure our projects quality and consistency, please adhere to the following principles:

Contribution Principles

As the original creator of ASTRO, I, BlindByte, value contributions that align with these core principles:

  • Scientific Accuracy: Ensure all updates are based on established physics and astrophysics to maintain the simulation's scientific integrity.
  • Realism: Enhance the authentic portrayal of celestial mechanics and astronomical phenomena for a true-to-life experience.
  • Immersiveness: Enrich the simulations depth and beauty, creating a captivating representation of the universe.
  • Focus on Physics: Prioritize accurate physical simulations, reflecting realistic dynamics and interactions among celestial bodies.

By adhering to these principles, you help make ASTRO a premier tool for both educational and research purposes. Thank you for your contributions!


License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

  • Three.js: For providing the powerful 3D rendering library.
  • OrbitControls: For interactive camera controls.

Contact

This software was created by BlindByte. Connect with me:

For questions or further information, feel free to reach out via the above links.


Related Projects