## Bienvenido a LaunchSim
### Simulador de trayectorias para lanzaderas

---

### Descripción

LaunchSim es una aplicación diseñada para calcular trayectorias de proyectiles en función de parámetros físicos y mecánicos, proporcionando estimaciones energéticas y visualización interactiva. Además, incluye herramientas de optimización para minimizar la velocidad inicial necesaria.

### Estructura de la aplicación

1. **Simulador:**
   - Introduce los parámetros iniciales como ángulo, velocidad, alcance y altura inicial.
   - Visualiza la trayectoria y calcula energías mecánicas y dinámicas en tiempo real.

2. **Coef. Rozamiento:**
   - Selecciona una geometría (prisma, cilindro o esfera) para calcular el coeficiente de rozamiento (*b*) en función de la resistencia al aire.

3. **Optimización:**
   - Calcula el ángulo óptimo para minimizar la velocidad inicial necesaria y optimiza el consumo energético.

4. **Simulación Geométrica de Bobinas:**
   - Diseña la geometría de una bobina seleccionando parámetros como el radio, el número de vueltas y la altura.
   - Calcula automáticamente la sección transversal resultante de la bobina, utilizada para evaluar la resistencia eléctrica.

5. **Simulación Eléctrica:**
   - Utiliza los datos generados en la pestaña de bobinas para calcular parámetros eléctricos como resistencia, voltaje y corriente requeridos para alimentar el sistema.
   - Proporciona una visualización de los valores eléctricos en tiempo real.

---

### Instalación

1. **Clonar el repositorio:**
   ```bash
   git clone https://github.com/spark-ops/LaunchSim.git
   cd LaunchSim
   ```

2. **Crear un entorno virtual:**
   ```bash
   python -m venv venv
   source venv/bin/activate  # En Windows: venv\Scripts\activate
   ```

3. **Instalar dependencias:**
   ```bash
   pip install -r requirements.txt
   ```

4. **Ejecutar la aplicación:**
   ```bash
   python src/main.py
   ```

5. **Compilar como ejecutable (opcional):**
   Si deseas distribuir la aplicación como un ejecutable independiente:
   - En Windows:
      ```bash
      python -m nuitka --standalone --windows-disable-console --enable-plugin=tk-inter --windows-icon-from-ico=src/static/icon.ico src/LaunchSim.py
      ```
   - En Linux/Mac:
      ```bash
      python -m nuitka --standalone --onefile --enable-plugin=tk-inter src/LaunchSim.py
      ```
   El archivo resultante estará en la carpeta `dist/`.

---

### Estructura del Proyecto

- **src/**: Contiene los archivos principales del código fuente.
- **VERSION:** Archivo que contiene la versión actual del software.
- **SECRETS:** Archivo para credenciales usadas en integración con Docker.
- **Dockerfile:** Archivo para crear una imagen Docker del proyecto.

---

### Contacto

E-mail: pedrojrg@spark-ops.com