🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_336cvmn_336.py
Version 1.0.0
Date de création 11/03/2026
Auteur / Demandeur IA Générée (Gemini)
Objectif principal Simuler, exporter en CSV et animer graphiquement la trajectoire d’une fusée avec télémétrie en temps réel.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script génère une simulation de vol de fusée (données de trajectoire, vitesse, masse et inclinaison). Il exporte ces données dans un fichier CSV horodaté et lance une interface graphique animée montrant la progression de la fusée dans un environnement spatial stylisé avec un affichage de bord (HUD).
📌 Problème résolu
Il permet de visualiser dynamiquement des vecteurs de poussée et des changements d’états (perte de masse, inclinaison) qui sont souvent difficiles à interpréter via de simples tableaux de chiffres.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x (recommandé 3.8+)
OS cible Windows / Linux / MacOS
Mode d’exécution Script autonome (CLI + GUI)
📦 Dépendances / Librairies
Librairies standard (built-in) : numpy, csv, datetime.
Librairies externes (pip install) : matplotlib.
📥 ENTRÉES (INPUTS)
# Nom Type Obligatoire Description
1 hist_x / hist_y list/np.array ✅ Oui Coordonnées de la trajectoire (0.0 à 1.0).
2 hist_angle list ✅ Oui Angle d’inclinaison en degrés.
3 hist_vitesse list ✅ Oui Vitesse instantanée en m/s.
4 hist_masse list ✅ Oui Masse actuelle de la fusée en kg.
📤 SORTIES (OUTPUTS)
# Nom Type Description
1 nom_fichier str Nom du fichier CSV généré.
2 ani Animation Objet d’animation Matplotlib (rendu visuel).
📂 Fichiers en sortie
CSV : simulation_fusee_YYYYMMDD_HHMMSS.csv (Données brutes avec en-tête métadonnées).
🧱 STRUCTURE DU SCRIPT
Plaintext
script_336cvmn_336.py
│
├── 📌 IMPORTS (numpy, matplotlib, csv, datetime)
├── 📌 FONCTIONS
│ └── exporter_csv() → Génère le fichier de données structuré.
├── 📌 CLASSES
│ └── AnimationFusee → Gère le moteur de rendu graphique.
│ ├── _dessiner_fusee() → Dessine les polygones de la fusée (rotation).
│ └── animer() → Boucle d’animation et gestion du HUD.
└── 📌 MAIN (Démonstration) → Génération de données factices et lancement.
🔄 LOGIQUE / ALGORITHME
Génération/Réception des vecteurs de données (vitesse, angle, position).
Exportation : Création d’un fichier CSV avec séparateur ; et formatage à 4 décimales pour l’altitude.
Initialisation Graphique : Création d’un espace sombre avec des étoiles générées aléatoirement.
Boucle d’Animation :
Calcul de la matrice de rotation pour le corps, la coiffe et la tuyère.
Mise à jour de la traînée (fumée) sur les 40 derniers points.
Calcul et mise à jour des textes du HUD (T+, Alt, Vit, Mss, Ang).
🚨 GESTION DES ERREURS
Cas d’erreur Type d’exception Comportement attendu
Dossier non scriptible IOError Arrêt du script lors de l’export CSV.
Données de tailles différentes IndexError Le HUD ou l’animation risque de planter au milieu du vol.
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu Statut
1 Cas nominal Données démo CSV créé + Animation fluide ⬜ À tester
2 Angle fixe 90° angle = [90]*n Fusée restant parfaitement verticale ⬜ À tester
3 Export sans nom nom_fichier=None Fichier généré avec horodatage système ⬜ À tester
📊 PERFORMANCES ATTENDUES
Temps d’exécution : Export CSV quasi-instantané (< 0.1s pour 600 points). Animation : Fluide à 30ms d'intervalle. Consommation : Faible (Matplotlib standard). 📝 EXEMPLE D'UTILISATION ▶️ Lancement direct (Démo) Bash python script_336cvmn_336.py 💻 Exemple d'appel en tant que module Python from script_336cvmn_336 import exporter_csv, AnimationFusee # Vos données data = {"temps_s": [0, 1], "altitude_km": [0, 10], "vitesse_ms": [0, 500], "masse_kg": [50000, 48000], "angle_deg": [90, 85]} # Export et Animation exporter_csv(data, "mon_vol.csv") anim = AnimationFusee([0, 0.1], [0, 0.5], [90, 85], [0, 500], [50000, 48000]) anim.animer()






Avis
Il n’y a pas encore d’avis.