onizuka_c4m0ks3y36jiqq7z_333.py

49,00 

Simuler et visualiser la dynamique gravitationnelle de corps célestes (systèmes stellaires, galaxies) incluant la gestion des collisions.

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

🔷 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=Gd2m1​m2​​.

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.

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

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