🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script onizuka_c4m0ks3y36jiqq7z_333.py
Version 1.0.0
Date de création 19/03/2026
Auteur / Demandeur refoïa jeremy
Objectif principal Simuler et visualiser la dynamique gravitationnelle de corps célestes (systèmes stellaires, galaxies) incluant la gestion des collisions.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script est un moteur de simulation physique en 2D utilisant la loi de gravitation universelle de Newton. Il permet de modéliser le mouvement d’astres (étoiles, planètes, astéroïdes), de calculer leurs orbites en temps réel et de visualiser graphiquement leur évolution, tout en gérant les fusions de corps en cas de collision.
📌 Problème résolu
Il permet de visualiser des concepts d’astrophysique complexes (mécanique orbitale, conservation de la quantité de mouvement lors d’une fusion, stabilité des systèmes) de manière interactive et pédagogique.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.8+
OS cible Tous (Windows, Linux, MacOS)
Mode d’exécution CLI avec interface graphique (Matplotlib)
📦 Dépendances / Librairies
numpy : Calculs vectoriels et matrices.
matplotlib : Moteur de visualisation et animations.
scipy : Intégration numérique (odeint).
warnings : Gestion des messages d’alerte.
📥 ENTRÉES (INPUTS)
Le script utilise des classes d’objets pour définir les données :
| # | Nom | Type | Obligatoire | Description |
| :— | :— | :— | :— | :— |
| 1 | masse | float | ✅ | Masse du corps céleste |
| 2 | position | list/array| ✅ | Coordonnées [x,y] |
| 3 | vitesse | list/array| ✅ | Vecteurs [vx,vy] |
| 4 | G | float | ✅ | Constante gravitationnelle (réelle ou simplifiée) |
📤 SORTIES (OUTPUTS)
Animation Matplotlib : Fenêtre interactive montrant les astres et leurs trajectoires.
Logs Console : Affichage des collisions et de l’état du système (énergie, temps).
Fichier GIF (Optionnel) : Enregistrement de la simulation sous simulation_spatiale.gif.
🧱 STRUCTURE DU SCRIPT
onizuka_c4m0ks3y36jiqq7z_333.py
│
├── 📌 IMPORTS (numpy, matplotlib, scipy)
├── 📌 CLASSE CorpsCeleste (Données physiques d’un astre)
├── 📌 CLASSE SimulationSpatiale (Moteur physique et rendu)
├── 📌 FONCTIONS DE SCÉNARIOS
│ ├── creer_systeme_solaire_simplifie()
│ ├── simulation_formation_galactique()
│ └── analyse_stabilite()
└── 📌 MAIN (Menu de sélection utilisateur)
🔧 DÉTAIL DES FONCTIONS PRINCIPALES
Fonction Paramètres Retour Rôle
calculer_accelerations() Aucun list[array] Calcule la somme des forces gravitationnelles pour chaque corps.
mettre_a_jour() Aucun None Applique la méthode d’Euler pour mettre à jour positions/vitesses.
visualiser() intervalle, sauvegarder FuncAnimation Génère l’animation graphique interactive.
gerer_collision(i, j) indices i, j None Fusionne deux corps (somme des masses, moyenne pondérée des vitesses).
🔄 LOGIQUE / ALGORITHME
Initialisation : Création des objets CorpsCeleste avec positions et vitesses initiales.
Boucle de Calcul :
Calcul de la distance entre chaque paire de corps : d=(x2−x1)2+(y2−y1)2.
Calcul de la force : F=Gd2m1m2.
Mise à jour de la vitesse (Accélération ×dt) et de la position.
Détection de Collision : Si dist



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