J'ai toujours pensé que les théories les plus complexes pouvaient être comprises avec des analogies simples. Guidé par mon intuition et inspiré par des textes anciens, j'ai voulu créer une simulation qui donne vie à une idée fascinante : et si l'univers était un organisme vivant, un immense cerveau ?
Ce projet explore la naissance, la mort et le cycle de la matière, non pas avec des équations complexes, mais avec la logique d'un simple code Python.
Le Concept : De la Poésie au Code
Ma théorie repose sur quelques principes :
La Matière Noire et l'Énergie Noire : La matière noire est la "structure" de l'univers, une obscurité dormante. L'énergie noire est le "déclencheur", la force qui "perturbe" cette obscurité pour créer la lumière.
La Naissance de l'Étoile ("Pouf Chocapic") : Une étoile naît quand la matière "soupe" consomme assez d'énergie noire en un point précis. C'est le moment de la création.
Le Cycle Infini : Une étoile est comme une plante qui naît, se nourrit, meurt et dont les résidus servent à créer de nouvelles planètes, perpétuant le cycle.
Pour visualiser ces idées, j'ai utilisé Python pour modéliser une petite portion de mon univers.
La Simulation : Comment le Code Fonctionne
Le code utilise la librairie numpy pour créer une grille (notre univers) et matplotlib pour en faire une image. Le processus est simple :
Création du Vide Cosmique : Une grille est remplie d'une valeur de base représentant le potentiel de l'énergie noire.
L'Action de la Matière : Des particules de matière sont placées aléatoirement et commencent à "soustraire" de l'énergie noire.
La Naissance : Lorsque le potentiel d'énergie noire d'un point atteint un seuil critique, une étoile est née ! Le code capture cet instant et crée une image.
Voici le code complet. Les commentaires expliquent chaque étape.
[4]
-- coding: utf-8 --
import numpy as np
import random
import math
--- Règles de l'univers ---
force_de_lumiere = 3 * 3
nombre_particules_matiere = 200
valeur_energie_noire_de_base = 20
grid_size = 50
--- Création du cosmos ---
cosmic_void = np.full((grid_size, grid_size), valeur_energie_noire_de_base)
particules = [{'pos': (random.randint(0, grid_size - 1), random.randint(0, grid_size - 1)), 'force': 1} for _ in range(nombre_particules_matiere)]
print("Le cosmos est créé, avec un potentiel d'énergie noire élevé.")
--- Simulation de la naissance ---
etoile_creee = False
for temps in range(1, 101):
nouvelle_grille = np.copy(cosmic_void)
for p in particules:
nouvelle_grille[p['pos'][0], p['pos'][1]] -= p['force']
for y in range(grid_size):
for x in range(grid_size):
if nouvelle_grille[y, x] <= (valeur_energie_noire_de_base - force_de_lumiere):
masse_etoile = valeur_energie_noire_de_base - nouvelle_grille[y, x]
print(f"\nPOUF CHOCAPIC ! Une étoile est née à ({y}, {x}) avec une masse de {masse_etoile:.2f} !")
etoile_creee = True
break
if etoile_creee: break
if etoile_creee: break
if temps % 10 == 0:
print(f"Étape {temps} : La création continue...")
print("\nLa simulation de la naissance est terminée.")
Le cosmos est créé, avec un potentiel d'énergie noire élevé.
Étape 10 : La création continue...
Étape 20 : La création continue...
Étape 30 : La création continue...
Étape 40 : La création continue...
Étape 50 : La création continue...
Étape 60 : La création continue...
Étape 70 : La création continue...
Étape 80 : La création continue...
Étape 90 : La création continue...
Étape 100 : La création continue...
La simulation de la naissance est terminée.
[2]
1 s
-- coding: utf-8 --
import random
import time
--- Règles de l'univers ---
masse_critique = 50
naine_blanche_seuil = 20
etoile_neutrons_seuil = 40
--- Création de l'étoile ---
etoile_masse = 100
print(f"Une étoile est née avec une masse de {etoile_masse}.")
--- Simulation de la mort ---
while etoile_masse > masse_critique:
perte_masse = random.uniform(1, 5)
etoile_masse -= perte_masse
print(f"L'étoile s'use... Masse restante : {etoile_masse:.2f}")
time.sleep(0.1)
--- Le destin final ---
print(f"\nL'étoile a atteint la masse critique de {masse_critique} !")
if etoile_masse < naine_blanche_seuil:
print("L'étoile a terminé son cycle et est devenue : Naine Blanche")
elif etoile_masse < etoile_neutrons_seuil:
print("L'étoile a terminé son cycle et est devenue : Étoile à Neutrons")
else:
print("L'étoile a terminé son cycle et est devenue : Trou Noir")
print("\nLe cycle de vie et de mort de l'étoile est terminé.")
Une étoile est née avec une masse de 100.
L'étoile s'use... Masse restante : 97.76
L'étoile s'use... Masse restante : 95.43
L'étoile s'use... Masse restante : 93.23
L'étoile s'use... Masse restante : 89.64
L'étoile s'use... Masse restante : 88.06
L'étoile s'use... Masse restante : 84.97
L'étoile s'use... Masse restante : 79.97
L'étoile s'use... Masse restante : 77.70
L'étoile s'use... Masse restante : 74.58
L'étoile s'use... Masse restante : 70.17
L'étoile s'use... Masse restante : 67.67
L'étoile s'use... Masse restante : 63.38
L'étoile s'use... Masse restante : 60.06
L'étoile s'use... Masse restante : 56.44
L'étoile s'use... Masse restante : 55.20
L'étoile s'use... Masse restante : 53.17
L'étoile s'use... Masse restante : 50.17
L'étoile s'use... Masse restante : 48.06
L'étoile a atteint la masse critique de 50 !
L'étoile a terminé son cycle et est devenue : Trou Noir
Le cycle de vie et de mort de l'étoile est terminé.
[3]
0 s
-- coding: utf-8 --
import numpy as np
import random
import math
import time
--- Règles de l'univers ---
force_de_lumiere = 3 * 3
nombre_particules_matiere = 200
valeur_energie_noire_de_base = 20
grid_size = 50
masse_critique = 5
--- Création du cosmos ---
cosmic_void = np.full((grid_size, grid_size), valeur_energie_noire_de_base)
particules = [{'pos': (random.randint(0, grid_size - 1), random.randint(0, grid_size - 1)), 'force': 1} for _ in range(nombre_particules_matiere)]
print("Le cosmos est créé, avec un potentiel d'énergie noire élevé.")
--- Fonctions pour le cycle ---
def vie_etoile(etoile_masse):
perte_masse = random.uniform(0.1, 0.5)
etoile_masse -= perte_masse
return etoile_masse
def mort_stellaire(masse_noyau):
if masse_noyau < 3:
return "Naine Blanche"
elif masse_noyau < 7:
return "Étoile à Neutrons"
else:
return "Trou Noir"
--- Simulation du cycle complet ---
etoile_creee = False
etoile_masse = 0
Phase 1 : La naissance
for temps in range(1, 101):
nouvelle_grille = np.copy(cosmic_void)
for p in particules:
nouvelle_grille[p['pos'][0], p['pos'][1]] -= p['force']
for y in range(grid_size):
for x in range(grid_size):
if nouvelle_grille[y, x] <= (valeur_energie_noire_de_base - force_de_lumiere):
etoile_masse = valeur_energie_noire_de_base - nouvelle_grille[y, x]
print(f"\nPOUF CHOCAPIC ! Une étoile est née à ({y}, {x}) avec une masse de {etoile_masse:.2f} !")
etoile_creee = True
break
if etoile_creee: break
if etoile_creee: break
Phase 2 : La mort
if etoile_creee:
while etoile_masse > masse_critique:
etoile_masse = vie_etoile(etoile_masse)
time.sleep(0.1)
print(f"\nL'étoile a atteint la masse critique de {masse_critique} !")
destin_final = mort_stellaire(etoile_masse)
print(f"L'étoile a terminé son cycle et est devenue : {destin_final}")
print("\nLe cycle de l'étoile est terminé.")
Le cosmos est créé, avec un potentiel d'énergie noire élevé.
Le cycle de l'étoile est terminé.
Top comments (0)