Skip to content

Rocket Simulation is a real-time 3D rocket flight simulator that models realistic physics, including thrust, drag, gravity, and fuel consumption. Users can control rocket parameters, explore atmospheric layers, and monitor flight data in an interactive 3D environment built with Three.js and Vite.

License

Notifications You must be signed in to change notification settings

OsamaZerkawi/Rocket_Simulation

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

image

Rocket Simulation ๐Ÿš€

GitHub License Vercel Deployment Live Demo


GitHub Stars GitHub Forks GitHub Watchers GitHub Contributors GitHub Last Commit


Repo Size Code Size Languages Open Issues Closed Issues


Node.js Vite Three.js

Project Screenshot

Welcome to Rocket Simulation!, a real-time 3D rocket simulation developed to provide an immersive experience of rocket launches. Navigate using rocket model through realistic atmospheric and orbital environments, with physics-based controls that simulate thrust, drag, and gravity. Built with scientific accuracy in mind, this simulation leverages advanced aerodynamics and Newtonian physics to deliver a highly realistic rocket flight experience. ๐ŸŒŒ

Features ๐ŸŒŸ

  • Real-time Rocket Simulation: Launch rockets and control their flight in a fully interactive 3D environment. ๐Ÿš€

  • Physics-Based Mechanics: Includes thrust, drag, gravity, and fuel consumption for realistic flight behavior. ๐ŸŒ

  • Comprehensive Control Panel: Adjust thrust, gimbal angles, pitch, yaw, roll, and stage separation in real-time. โš™๏ธ

  • Advanced Camera System:

    • ๐ŸŽฏ Follow Camera: Tracks the rocket automatically.

    • ๐Ÿ”„ Orbit Camera: Rotate freely around the rocket.

    • ๐ŸŽฎ First-Person Camera: Fly with W, A, S, D keys.

  • 3D Environment:

    • ๐ŸŒ Earth Model and Launch Platform

    • โ˜€๏ธ๐ŸŒ™ Advanced Day-Night Lighting

    • ๐Ÿช Atmospheric Layers (Troposphere, Stratosphere, Mesosphere/Thermosphere)

    • ๐Ÿ›ฐ Special Models (ITE Facutly Model, Custom Syrian Rocket Model)

  • Real-Time Data Display: Shows speed, acceleration, mass, fuel level, thrust, and all acting forces.

  • Sound and Visual Effects: Realistic rocket exhaust. ๐Ÿ”Š

  • Vite Integration: Fast development and build process. โšก

Scientific and Technical Insights ๐Ÿ”ฌ

The simulation uses accurate physics principles and aerodynamics to model rocket flight:

  1. Rocket Mechanics:

    • Thrust Control: Adjust rocket engine power to control ascent speed.
    • Gravity and Drag: Simulates realistic acceleration and atmospheric resistance.
    • Thrust Dynamics: Acceleration calculated based on mass, fuel, and gravity.
  2. Aerodynamics & Atmospheric Physics:

    • Realistic air drag and atmospheric resistance.
    • Density changes through atmospheric layers affect flight.
    • Simulates terminal velocity, max Q, and re-entry forces.
  3. Collision Detection:

    • Rockets cannot pass through terrain or launch pads.
    • Collision forces simulate crashes or impacts realistically.
  4. Environment Rendering:

    • Earth, skyboxes, and space views with lighting and day-night cycles.
    • Dynamic visual effects during flight and launch.

Screenshots ๐Ÿ“ธ

Screenshot 2 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8 Screenshot 9 Screenshot 10 Screenshot 11 Screenshot 12

Demo Walkthrough ๐Ÿš€

  1. Model: Fly using Syrian Saturn V Model.
  2. User Interaction & GUI:
    • Right GUI: Adjust rocket and environment parameters (fuel, mass, cross-sectional area, drag/lift coefficients, air density, gravity, etc...).
  3. Environment Interaction:
    • Observe rocket through all atmospheric layers and into space.
  4. Real-Time Data: View detailed data on rocket physics and environment data in a side panel.

Technical Specifications โš™๏ธ

  • Frontend: Developed using Three.js for real-time 3D rendering. ๐Ÿ–ผ๏ธ
  • Bundler: Vite provides fast and efficient build processes. โšก

Getting Started ๐Ÿ› ๏ธ

Prerequisites

  • Node.js: Make sure Node.js is installed.

Installation

You can clone the repository using two options:

Option A: Clone with models (full repository)

  1. Clone the Repository:

    git clone https://github.com/NGPTechWorld/Rocket_Simulation.git
  2. Navigate to the Project Directory:

    cd Rocket_Simulation
  3. Install Dependencies:

    npm install
  4. Run Locally:

    npm run dev

    Open the application at http://localhost:5173/.

Option B: Clone without models (download models separately)

  1. Clone the Repository:

    git clone --branch dev-without-models --single-branch --depth 1 https://github.com/NGPTechWorld/Rocket_Simulation.git
  2. Navigate to the Project Directory:

    cd Rocket_Simulation
  3. Download the models separately from here.

  4. Extract the downloaded folder and it to the same level or src: assets

  5. Install Dependencies:

    npm install
  6. Run Locally:

    npm run dev

    Open the application at http://localhost:5173/.

Build for Production

To create an optimized production build:

npm run build

Live Demo ๐ŸŒ

The project is also deployed and accessible online at https://rocket-simulation-nhoka.vercel.app/.

Report ๐Ÿ“„

The full project report is available here. It includes detailed information about the physics, and technical design of the rocket simulation.

Contributing ๐Ÿค

We welcome contributions! Hereโ€™s how you can contribute:

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature-name).
  3. Commit your changes (git commit -m 'Add new feature').
  4. Push to the branch (git push origin feature-name).
  5. Open a pull request.

Contributors ๐Ÿ‘ฅ

Thanks to all the amazing people who contributed to this project:

Hasan Zaeter

Mohamad Ali Alnuaimi

Osama Zerkawi

Kareem Bizreh

OnlyAbdullh

License ๐Ÿ“œ

This project is licensed under the MIT License.

About

Rocket Simulation is a real-time 3D rocket flight simulator that models realistic physics, including thrust, drag, gravity, and fuel consumption. Users can control rocket parameters, explore atmospheric layers, and monitor flight data in an interactive 3D environment built with Three.js and Vite.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 90.2%
  • CSS 8.6%
  • HTML 1.2%