script_335cvmn_335.py

49,00 

Simuler, exporter en CSV et animer graphiquement la trajectoire et l’orientation d’une fusée.

UGS : script_335cvmn_335.py Catégories : , Étiquettes : , ,

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_335cvmn_335.py

Version 1.0.0

Date de création 11/03/2026

Auteur / Demandeur Gemini (IA Générée)

Objectif principal Simuler, exporter en CSV et animer graphiquement la trajectoire et l’orientation d’une fusée.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script traite des données de vol de fusée (altitude, vitesse, masse, angle). Il génère un fichier CSV horodaté contenant l’historique de simulation et lance une animation 2D interactive montrant la fusée pivotante, sa traînée de fumée, un HUD (affichage tête haute) et un décor étoilé.

📌 Problème résolu

Il permet de visualiser de manière cinématique des données physiques complexes (trajectoire balistique avec inclinaison) tout en assurant la persistance des données pour une analyse ultérieure sous Excel ou un logiciel de traitement de données.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.8+

OS cible Tous (Windows, Linux, MacOS)

Mode d’exécution CLI / Module / Script indépendant

📦 Dépendances / Librairies

Librairies standard (built-in)

csv : Export des données.

datetime : Horodatage des fichiers.

Librairies externes (pip install)

numpy : Calculs matriciels et gestion des tableaux de données.

matplotlib : Moteur de rendu graphique et animations.

📥 ENTRÉES (INPUTS)

📂 Fichiers / Sources de données en entrée

Données de simulation : Le script utilise un dictionnaire historique contenant les listes de temps, altitude, vitesse, masse et angle.

Génération interne : En mode démonstration (main), les données sont générées par des fonctions de propagation numpy.

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Chemin / Format Description

CSV simulation_fusee_YYYYMMDD_HHMMSS.csv Export complet avec métadonnées (date, points).

Animation Fenêtre Matplotlib Visualisation interactive de la trajectoire.

🧱 STRUCTURE DU SCRIPT

script_335cvmn_335.py

📌 IMPORTS : numpy, matplotlib, csv, datetime.

📌 FONCTIONS :

exporter_csv() : Logique d’écriture du fichier.

📌 CLASSES :

AnimationFusee : Gère le rendu et la logique de l’animation.

📌 MAIN : Génération de données factices et exécution des processus.

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

exporter_csv historique (dict), nom_fichier (opt) str Sauvegarde les données au format CSV délimité par des points-virgules.

_dessiner_fusee ax, x, y, angle_deg None Calcule la rotation des polygones (corps, coiffe, tuyère).

animer pas, intervalle_ms FuncAnimation Gère la boucle de rafraîchissement de l’image.

🔄 LOGIQUE / ALGORITHME

Collecte/Génération des données (X, Y, Angle, Masse).

Export CSV : Écriture des en-têtes (métadonnées avec #) suivie des lignes de données formatées à 2 ou 4 décimales.

Initialisation Graphique : Création d’un espace sombre (fond étoilé) et normalisation des axes.

Boucle d’Animation :

Calcul de la matrice de rotation pour l’icône de la fusée.

Mise à jour de la traînée dynamique (fenêtre glissante de points).

Rafraîchissement du HUD textuel.

🚨 GESTION DES ERREURS

Attributs manquants : La méthode get() est utilisée pour l’angle afin de fournir une valeur par défaut (90°) si la clé est absente de l’historique.

Division par zéro : Protection lors de la normalisation (1e-6) pour éviter les erreurs de calcul sur des trajectoires statiques.

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu

1 Export CSV Dict historique standard Fichier créé avec séparateur ;

2 Rotation 90° Angle = 90 Fusée pointant verticalement vers le haut.

3 Trajectoire vide Listes vides Gestion d’exception ou graphique vide sans crash.

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python script_335cvmn_335.py

📋 Exemple de sortie console

Plaintext

✅ CSV exporté : simulation_fusee_20260311_200837.csv

→ 600 lignes de données

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “script_335cvmn_335.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *