onizuka_ak47qspgo3wrwjhb_333.py

49,00 

Simuler et visualiser la trajectoire balistique d’une fusée soumise à la gravité et à la traînée aérodynamique.

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_ak47qspgo3wrwjhb_333.py

Version 1.0.0

Date de création 25/03/2026

Auteur / Demandeur IA Générée (D’après le code fourni)

Objectif principal Simuler et visualiser la trajectoire balistique d’une fusée soumise à la gravité et à la traînée aérodynamique.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script calcule la position (x, y) et la vitesse d’un projectile (fusée) à chaque instant t en utilisant la méthode d’Euler. Il prend en compte la résistance de l’air (frottements) et s’arrête dès que l’altitude redevient nulle (impact au sol). Enfin, il génère un graphique de la trajectoire.

📌 Problème résolu

Il permet de prédire la portée et l’apogée d’un objet lancé avec une vitesse et un angle donnés dans un environnement réaliste (avec atmosphère), là où les calculs de chute libre dans le vide seraient erronés.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution CLI / Script interactif

📦 Dépendances / Librairies

# Librairies externes (pip install)

numpy (Calcul numérique et conversion d’angles)

matplotlib (Génération du graphique)

📥 ENTRÉES (INPUTS)

Les paramètres sont actuellement codés en dur dans le script :

| # | Nom | Type | Obligatoire | Description | Exemple |

| :- | :— | :— | :— | :— | :— |

| 1 | g | float | ✅ | Accélération de la pesanteur | 9.81 |

| 2 | rho | float | ✅ | Masse volumique de l’air | 1.225 |

| 3 | C_d | float | ✅ | Coefficient de traînée | 0.47 |

| 4 | m | float | ✅ | Masse de la fusée (kg) | 50.0 |

| 5 | v0 | float | ✅ | Vitesse initiale (m/s) | 150.0 |

| 6 | angle_deg | float | ✅ | Angle de lancement | 45.0 |

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Chemin / Format Description

Graphique Fenêtre interactive (plt.show) Courbe de la trajectoire y=f(x)

🧱 STRUCTURE DU SCRIPT

onizuka_ak47qspgo3wrwjhb_333.py

├── 📌 IMPORTS (numpy, matplotlib.pyplot)

├── 📌 CONSTANTES / CONFIG (Paramètres physiques et initiaux)

├── 📌 CALCULS PRÉLIMINAIRES (Conversion degrés vers radians)

├── 📌 BOUCLE DE CALCUL (Méthode d’Euler pour l’intégration temporelle)

└── 📌 VISUALISATION (Plotting de la trajectoire)

🔄 LOGIQUE / ALGORITHME

Initialisation : On définit la position de départ (0,0) et on décompose la vitesse initiale v0​ en composantes vx​ et vy​.

Boucle Iterative (Tant que y≥0) :

Calcul de la vitesse instantanée : v=vx2​+vy2​​.

Calcul de la force de traînée : Fd​=21​ρv2Cd​A.

Calcul des accélérations :

ax​=−mFd​​⋅vvx​​

ay​=−g−mFd​​⋅vvy​​

Mise à jour de la vitesse et de la position par intégration discrète (Euler).

Sortie : Affichage du graphique de la liste des points x et y.

🚨 GESTION DES ERREURS

Le script actuel ne comporte pas de blocs try/except.

Division par zéro : Risque potentiel si v devient nul (bien que physiquement improbable dans cette boucle).

Boucle infinie : Si les paramètres de lancement font que y n’est jamais négatif (non applicable ici car la gravité est constante vers le bas).

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : L’angle doit être converti en radians pour les fonctions np.cos et np.sin.

Règle 2 : La force de traînée s’oppose toujours au vecteur vitesse (signe négatif).

Règle 3 : La simulation s’arrête exactement au passage sous l’axe des abscisses (y<0). 🧪 TESTS ATTENDUS # Cas de test Entrée Résultat attendu Statut 1 Cas nominal v0​=150, θ=45∘ Courbe parabolique asymétrique ⬜ À tester 2 Vide (Cd​=0) Cd​=0 Parabole parfaite (portée max v02​/g) ⬜ À tester 3 Angle vertical angle=90∘ Montée et descente sur l'axe Y ⬜ À tester 📝 EXEMPLE D'UTILISATION ▶️ Lancement en ligne de commande Bash python onizuka_ak47qspgo3wrwjhb_333.py

Avis

Il n’y a pas encore d’avis.

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

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