onizuka_a39lbuigbrlmp4pa_333.py

49,00 

Simuler et analyser la stabilité orbitale d’un système planétaire et d’une ceinture d’astéroïdes sous l’influence de la gravité.

UGS : onizuka_a39lbuigbrlmp4pa_333.py Catégorie : Étiquettes : , ,

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_a39lbuigbrlmp4pa_333.py

Version 1.0.0

Date de création 19/03/2026

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

Objectif principal Simuler et analyser la stabilité orbitale d’un système planétaire et d’une ceinture d’astéroïdes sous l’influence de la gravité.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script simule dynamiquement les interactions gravitationnelles entre plusieurs corps célestes (Soleil, Terre, Mars, Jupiter et astéroïdes). Il calcule les trajectoires en temps réel, détecte les collisions physiques et permet de visualiser l’évolution du système sur plusieurs décennies via des animations ou des graphiques statiques.

📌 Problème résolu

Il permet d’étudier scientifiquement l’influence des planètes massives (comme Jupiter) sur les corps plus petits, mettant en évidence des phénomènes comme les lacunes de Kirkwood ou les taux de collision dans la ceinture d’astéroïdes.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Tous (Windows, Linux, MacOS)

Mode d’exécution CLI / Graphique (Matplotlib)

📦 Dépendances

numpy : Calculs vectoriels et gestion des positions/vitesses.

matplotlib : Moteur de rendu graphique et animations (FuncAnimation).

scipy : Importé pour odeint (bien que le script utilise principalement une intégration Euler-Cromer manuelle).

random : Génération aléatoire des positions des astéroïdes.

📥 ENTRÉES (INPUTS)

# Nom Type Obligatoire Description

1 duree_annees int ✅ Nombre d’années terrestres à simuler.

2 n (asteroides) int ✅ Nombre d’astéroïdes à générer initialement (défaut: 20).

📤 SORTIES (OUTPUTS)

# Nom Type Description

1 Animation Plot Fenêtre interactive montrant le mouvement des planètes.

2 Histogramme Plot Distribution temporelle des collisions.

3 Logs Console str Détails des collisions (« Collision: X absorbé par Y ») et progression.

🧱 STRUCTURE DU SCRIPT

Plaintext

onizuka_a39lbuigbrlmp4pa_333.py

├── 📌 CONSTANTES (G, UA, Masses solaires/terrestres)

├── 📌 CLASSE CorpsCeleste (Données physiques et calcul de Force)

├── 📌 CLASSE SystemeSolaire (Moteur physique et gestion des collisions)

├── 📌 CLASSE VisualisationSystemeSolaire (Interface graphique Matplotlib)

├── 📌 CLASSE AnalyseSimulation (Statistiques et histogrammes)

└── 📌 MAIN (Étude de la stabilité de la ceinture d’astéroïdes)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

force_gravitationnelle autre (Corps) np.array Calcule le vecteur force selon la loi de Newton.

mise_a_jour Aucun None Applique l’algorithme d’Euler-Cromer pour modifier v et pos.

verifier_collisions Aucun None Détecte les superpositions de rayons et gère la fusion/destruction.

animer interval Anim Lance la boucle d’animation graphique.

🔄 LOGIQUE / ALGORITHME

Initialisation : Création du Soleil et des planètes avec leurs vecteurs vitesse orbitale v=rG⋅M​​.

Boucle Temporelle :

Calcul des accélérations résultantes : a=∑mFg​​.

Mise à jour de la vitesse, puis de la position (Semi-implicite).

Vérification des contacts physiques (Collisions).

Analyse : Calcul du taux de survie et affichage des résultats.

🚨 GESTION DES ERREURS

Singularité de distance : Le script ignore les forces si la distance r est trop petite pour éviter des accélérations infinies.

Protection Solaire : Le Soleil est protégé contre la destruction lors des collisions par un flag est_etoile.

Warnings : Les alertes de division par zéro de Matplotlib sont filtrées via warnings.filterwarnings(‘ignore’).

✅ RÈGLES MÉTIER

Loi de Fusion : Si un corps est 10x plus massif qu’un autre lors d’une collision, il l’absorbe. Sinon, les deux sont détruits.

Limitation Trajectoire : Pour éviter la saturation mémoire, seules les 1000 dernières positions sont stockées.

📝 EXEMPLE D’UTILISATION

Python

# Lancement de l’étude complète via le bloc main

python onizuka_a39lbuigbrlmp4pa_333.py

Sortie attendue :

Plaintext

=== ANALYSE DE STABILITÉ ===

Taux de survie des astéroïdes: 85.0%

Nombre total de collisions: 3

Planètes survivantes: 3

Avis

Il n’y a pas encore d’avis.

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

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