A low-fidelity 3D physics simulation that allows users to launch water balloons at targets, accounting for complex environmental factors.
- 3D Interactive Scene: Visualize trajectories in a beautiful 3D environment using Three.js and React Three Fiber.
- Advanced Physics Engine: Simulates air resistance, wind speed, wind direction, air density, and drag coefficients.
- Mission Control Dashboard: A premium "glassmorphism" UI for controlling environmental constants and viewing real-time telemetry.
- Trajectory Prediction: Real-time calculation and visualization of the balloon's path.
- Telemetry & Stats: Detailed output of flight statistics and integrated graphs.
- Frontend: Vite, React, TypeScript, Three.js, React Three Fiber, Recharts.
- Backend: Python, FastAPI, SciPy, Uvicorn.
- Node.js (v18+)
- Python (v3.10+)
- Navigate to the
backenddirectory:cd backend - Create and activate a virtual environment:
python -m venv venv .\venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Start the server:
uvicorn app.main:app --reload
- Navigate to the
frontenddirectory:cd frontend - Install dependencies:
npm install
- Start the development server:
npm run dev
- Launch both the backend and frontend servers.
- Open your browser to the local frontend URL (usually
http://localhost:5173). - Use the Mission Control panel to adjust environmental variables.
- Aim and launch the water balloon to observe the trajectory and telemetry data.
This project is licensed under the MIT License.