script_282cvmn_282.py (ou PySimulator_Orbit.py)

49,00 

Simuler et animer en temps réel les interactions gravitationnelles entre plusieurs corps célestes (N-body simulation).

UGS : script_282cvmn_282.py-(ou-pysimulator_orbit.py) Catégorie : Étiquette :

Gemini

Fiche Descriptive Script Simulation Orbitale

Nouvelle discussion

Mes contenus

Gems

Discussions

Liste de Courses et Récapitulatif Commande

Discussion épinglée

Analyse et Liste de Courses Surgelées

Discussion épinglée

Shooting Photos : Légendes et Options

Discussion épinglée

LinkedIn Content Strategy For Fashion

Discussion épinglée

le nom du magazine : JEREMY LOuis

Discussion épinglée

Créer une surcouche IA pour le développement

Discussion épinglée

Python Bot Project Structure Analysis

Discussion épinglée

Stratégie d’abonnement pour produits numériques

Discussion épinglée

donne moi une liste de 50 projet d’application web en html css et javascript

Discussion épinglée

Thème Salon de Mariage Prestige

Discussion épinglée

Une Rencontre Flirteuse et Directe

Discussion épinglée

Stratégie Roman HTML et Produits Numériques

Discussion épinglée

Le Pacte de l’Historien et de l’Héritière

Discussion épinglée

Saint-Denis, La Réunion D’après vos adresses (domicile) Mettre à jour la position

Conversation avec Gemini

Vous avez dit

fait ta tache

AGENTFiche-Descriptive_Script_Python

Gem personnalisé

Requête réussie

AGENTFiche-Descriptive_Script_Python a dit

Voici la fiche descriptive détaillée pour votre script de simulation orbitale.

📄 Template de Fiche Descriptive — Script Python

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_282cvmn_282.py (ou PySimulator_Orbit.py)

Version 1.0.0

Date de création 07/03/2026

Auteur / Demandeur IA Généré (Gemini)

Objectif principal Simuler et animer en temps réel les interactions gravitationnelles entre plusieurs corps célestes (N-body simulation).

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script utilise les lois de la physique Newtonienne pour calculer les forces d’attraction entre des objets massifs. Il affiche une animation fluide montrant les trajectoires (orbites) et les interactions (frôlements ou collisions lissées) entre une étoile, une planète et un astéroïde.

📌 Problème résolu

Il permet de visualiser de manière dynamique des systèmes complexes de mécanique céleste qui sont difficiles à résoudre analytiquement, en utilisant l’intégration numérique pour prédire le mouvement des corps.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.8+

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution Interface graphique (Matplotlib Backend)

📦 Dépendances / Librairies

numpy (Calcul vectorisé haute performance)

matplotlib (Moteur de rendu graphique et animation)

📥 ENTRÉES (INPUTS)

# Nom Type Obligatoire Description Exemple

1 mass float ✅ Oui Masse de l’objet (influence la gravité) 1000

2 pos list ✅ Oui Coordonnées initiales [x,y] [0, 0]

3 vel list ✅ Oui Vecteur vitesse initial [vx,vy] [0, 7]

📤 SORTIES (OUTPUTS)

# Nom Type Description Exemple

1 pos ndarray Matrice des positions actuelles de tous les corps [[0,0], [10.2, 0.5]]

2 Animation Visual Fenêtre interactive affichant le mouvement et les traînées (Fenêtre Matplotlib)

🧱 STRUCTURE DU SCRIPT

script_282cvmn_282.py

📌 IMPORTS : numpy, matplotlib.pyplot, FuncAnimation.

📌 CLASSE CosmosSim : Cœur logique du simulateur.

📌 CONFIGURATION : Initialisation des corps (Soleil, Planète, Astéroïde).

📌 ANIMATION : Configuration de la figure et fonction animate pour le rafraîchissement.

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

add_body mass, pos, vel None Enregistre un nouvel objet dans le système.

get_accelerations pos ndarray Calcule l’accélération gravitationnelle vectorisée via Newton.

update dt ndarray Met à jour positions/vitesses (Intégrateur Semi-implicit Euler).

animate i (frame) list Met à jour les éléments graphiques pour chaque image.

🔄 LOGIQUE / ALGORITHME

Initialisation → Création des objets avec masses et vecteurs d’état.

Boucle de Calcul :

Calcul des distances relatives entre TOUS les corps (dx,dy).

Application de la loi en carré inverse avec softening (1/r2+ϵ2​3).

Mise à jour de la vitesse, puis de la position.

Rendu → Effacement partiel et tracé des points et des « queues » de comètes (20 derniers points).

🚨 GESTION DES ERREURS

Softening (self.softening) : Empêche la division par zéro et les forces infinies lorsque deux objets se croisent exactement au même point.

Vectorisation : Utilise NumPy pour éviter les boucles Python lentes, ce qui prévient les lags d’animation.

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : La constante G est ajustable pour accélérer ou ralentir l’intensité de la gravité.

Règle 2 : Les traînées (trails) sont limitées aux 20 dernières positions pour économiser la mémoire.

Règle 3 : Le calcul de l’accélération est purement 2D dans cette version.

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu Statut

1 Orbite stable Masse Soleil >> Planète La planète doit décrire une ellipse ou un cercle. ⬜ À tester

2 Collision Astéroïde vers Soleil L’astéroïde doit traverser ou être dévié sans crash du code. ⬜ À tester

3 Système vide Aucun corps La fenêtre s’ouvre mais reste vide sans erreur. ⬜ À tester

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

python script_282cvmn_282.py

📋 Exemple de sortie attendue

Une fenêtre noire s’ouvre avec :

Un gros point blanc central (fixe).

Un point en orbite elliptique.

Un point traversant le système avec une déviation gravitationnelle visible.

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “script_282cvmn_282.py (ou PySimulator_Orbit.py)”

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