onizuka_6oddqxh37vmeoltp_333.py

49,00 

Simuler et visualiser la trajectoire balistique d’une fusée en tenant compte de la poussée, de la gravité et de la résistance de l’air.

UGS : onizuka_6oddqxh37vmeoltp_333.py Catégorie : Étiquette :

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_6oddqxh37vmeoltp_333.py

Version 1.0.0

Date de création 25/03/2026

Auteur / Demandeur IA Généré (Modèle Gemini)

Objectif principal Simuler et visualiser la trajectoire balistique d’une fusée en tenant compte de la poussée, de la gravité et de la résistance de l’air.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script calcule la trajectoire d’une fusée en deux dimensions (verticale et horizontale). Il résout les équations différentielles du mouvement pour déterminer l’altitude, la distance parcourue et la vitesse. Il génère ensuite quatre graphiques d’analyse et propose une animation interactive du vol.

📌 Problème résolu

Il permet de prédire les performances d’un vol suborbital (apogée, point d’impact, vitesse maximale) en modélisant des phénomènes physiques réels comme la variation de la masse (consommation de carburant) et la variation de la densité de l’air selon l’altitude.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution CLI avec interface graphique (Matplotlib)

📦 Dépendances / Librairies

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

matplotlib : Génération des graphiques statiques et de l’animation.

scipy (odeint) : Résolution numérique de l’équation différentielle du mouvement.

📥 ENTRÉES (INPUTS)

📂 Paramètres de la classe Fusee

# Nom Type Obligatoire Description

1 masse_initiale float ✅ Oui Masse au décollage (kg)

2 poussee float ✅ Oui Force de poussée du moteur (N)

3 duree_poussee float ✅ Oui Temps de combustion du moteur (s)

4 surface_reference float ✅ Oui Surface frontale pour la traînée (m²)

5 coefficient_trainee float ✅ Oui Cx​ de la fusée (aérodynamisme)

📤 SORTIES (OUTPUTS)

📂 Données en sortie

Console : Affichage de l’apogée (m), de la portée (m), des vitesses max et de la durée totale.

Graphiques : Une figure regroupant 4 plots (Trajectoire, Altitude, Vitesse, Composantes Vx​/Vy​).

Animation : Fenêtre interactive montrant le déplacement de la fusée en temps réel.

🧱 STRUCTURE DU SCRIPT

Plaintext

onizuka_…_333.py

├── 📌 IMPORTS (numpy, matplotlib, scipy)

├── 📌 CONSTANTES (g = 9.81, rho = 1.225)

├── 📌 CLASSE Fusee (Gestion masse et poussée variable)

├── 📌 FONCTIONS

│ ├── equations_mouvement() → Dérivées pour le solveur ODE

│ ├── simuler_trajectoire() → Exécution du calcul numérique

│ ├── creer_visualisation() → Génération des 4 graphiques

│ ├── creer_animation() → Animation dynamique

│ └── main() → Pilotage du script

└── 📌 MAIN (Point d’entrée)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

get_masse(t) t: temps float Calcule la perte de masse due au carburant

equations_mouvement(y, t, fusee) y (vecteur d’état), t, fusee list Définit les accélérations ax​ et ay​

simuler_trajectoire(…) fusee, t_max, dt tuple Retourne les tableaux de données (t,x,y,v)

🔄 LOGIQUE / ALGORITHME

Initialisation : Création de l’objet Fusee avec ses constantes.

Calcul (ODE) : Utilisation de odeint pour intégrer les forces :

Poids=m⋅g

Traı^neˊe=21​ρv2SCx​

Pousseˊe (si t< durée combustion). Analyse : Identification de l'index où l'altitude est maximale (apogée) et où l'altitude redevient nulle (impact). Rendu : Affichage des courbes de performance. 🚨 GESTION DES ERREURS Vitesse nulle : Le script gère la division par zéro dans le calcul des composantes de traînée via une condition if vitesse > 0.

Sol : L’altitude est protégée par un max(0, y_pos) pour éviter des calculs de densité atmosphérique aberrants sous le niveau du sol.

Impact : Une interpolation linéaire est utilisée pour trouver le point exact de l’impact si celui-ci tombe entre deux pas de temps.

✅ CONTRAINTES & RÈGLES MÉTIER

Inclinaison : Une inclinaison fixe de 5° est injectée au décollage pour générer une trajectoire parabolique (sinon la fusée monterait purement à la verticale).

Modèle Atmosphérique : La densité de l’air diminue exponentiellement avec l’altitude (H0​=8000m).

Consommation : Le script suppose que 80% de la masse initiale est du carburant consommé linéairement pendant la poussée.

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python onizuka_6oddqxh37vmeoltp_333.py

📋 Exemple de sortie console

Plaintext

RÉSULTATS DE LA SIMULATION

============================================================

Apogée maximale : 12450.3 m atteinte à t = 45.2 s

Portée horizontale : 2105.8 m atteinte à t = 58.4 s

Vitesse maximale : 345.2 m/s

Avis

Il n’y a pas encore d’avis.

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

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