Page 1 sur 2

Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 4:29 pm
de Technocratie
Bonjour,

Je souhaiterais de l'aide pour concevoir une galaxie virtuelle en langage informatique. Si quelqu'un peut m'aider je suis preneur.

D'avance merci ^^

Technocratie

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 4:46 pm
de Origin
Oula tu t'attaque à du gros !!

Tu à des notions de codage déjà ? si non je te conseil de te documenter ^^

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 4:57 pm
de Technocratie
J'ai quelques bases dans divers langages ... mais je pensais plus aux formules mathématiques à utiliser pour faire une galaxie réaliste.

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 5:24 pm
de Origin
La à mon avis je doute qu'il y ai quelqu'un qui pourrais t'aider, à par Véovis !

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 5:31 pm
de Technocratie
Véovis est le développeur de Celestus, il a surement des informations là dessus ... Mais voudra t-il les partager ? Voilà pourquoi je demande de façon général ^^

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 5:33 pm
de Veovis
tu entends quoi exactement par "programmer une galaxie" ? ça n'a pas beaucoup de sens sans précision. Tu attends quoi comme résultat ?

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 5:42 pm
de Ayrae
Je pense qu'il veut dire la position des étoiles dans un repère de sorte que l'ensemble de ces étoiles forment une galaxie.

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 5:59 pm
de Technocratie
Autant pour moi. En fait je cherche non seulement à positionner des étoiles, mais à les faire interagir.

Comment générer des étoiles qui soit suffisamment réalistes en masse, en vitesse et en distance les unes par rapport aux autres pour créer une galaxie "interactive" viable. Ce que je veux dire quand je dis viable, c'est qu'il n'y ait pas de grosses accélérations ou grosses collisions.

Si les vitesses et les masses ne sont pas équilibrés, il y aura soit une éjection des étoiles par rapport au centre de la galaxie, soit au contraire, les étoiles vont s’agglutiner les unes sur les autres pour ne former qu'un amas compact.

Je ne réfléchis pour le moment que sur un plan et non un volume. Ce qui nous fait trois dimensions à prendre en compte.

J'espère avoir été plus précis cette fois ^^

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 7:25 pm
de Cinétic
La modélisation de galaxie, ouah! t'as du courage!C'est du lourd.

Si tu veux une galaxie viable, il est indispensable d'utiliser les équations de Kepler:
http://fr.wikipedia.org/wiki/Lois_de_Kepler
http://fr.wikipedia.org/wiki/D%C3%A9mon ... .281609.29
http://fr.wikipedia.org/wiki/D%C3%A9mon ... .281609.29

Pour une galaxie "plate" (2D) et uniforme:
Je serais toi, je commencerais par un TN super massif(masse entre 1M et 1G de soleil, 2,6M pour celui de la Voie Lactée) au centre de la galaxie.
Répartit ensuite 100G d'étoiles sur un disque de 100k d'années lumières de diamètre centré sur le TN super massif.
La vitesse orbitale (V) des étoiles varie selon V = Racine de [(Masse du super TN x constante gravitationnelle)/rayon de l'orbite de l'étoile].

Tu devrais avoir une galaxie viable à ce niveau. Certes, elle est uniforme et les équations sont (très) simplifiés mais sinon, ça devient une usine à gaz.

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 8:16 pm
de Technocratie
Il faut aussi prendre en compte le fait qu'un trou noir a une masse importante certe, mais un faible diamètre (c'est important pour le calcul lié à la gravitation). Pour le moment d'ailleurs je ne m’étais focalisé que sur la gravitation de Newton.

Sinon, Cinétic, je vois que tu as mis 2D en insistant sur le "plate" ... or je parlais de trois dimensions tout en gardant l'aspect "plate" de la galaxie. La troisième dimension étant le temps, sinon il n'y aurait pas d'interaction ^^.

En tout cas merci Cinétic pour ces pistes qui semblent prometteuses ! ^^

D'un point de vue technique je voyais une intégration dans une BDD des astres avec une application en java pour le moteur.

Si vous avez d'autres conseils ou expériences à me faire partager je suis preneur ^^

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 8:42 pm
de Canard Boiteux
Je n'y connais rien en informatique, mais tu compte générer autant de corps céléstes qu'il y a dans une galaxie et les faire interagir entre eux ? Ta une idée de la gueule des machines qu'ils utilisent à la NASA pour faire ce genre de modélisation ?
Les générer je dis pas, Véovis l'a fait, mais calculer toutes les trajectoires (référentiel= univers) en fonction de leur masse, diamètre, distances entre eux, vitesse et j'en passe ....

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 8:51 pm
de zoltane
Si il ne tente pas de reproduire notre galaxie à l'exactitude comme la NASA, je pense que c'est jouable, il rentre ces calcules dans la machine, rajoute un RAN pour avoir quelque chose de pas trop symétrique, et le tour est joué.

Regarde, il y a bien un type qu'a réussi à programmer plusieurs milliers de fond spatiaux a lui tout seul, et en 3D en plus; c'est pour sa qu'on pourras pas aller au centre de la galaxie tout de suite il à pas encore fini de la peindre.

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 10:11 pm
de Cinétic
Il faut aussi prendre en compte le fait qu'un trou noir a une masse importante certe, mais un faible diamètre (c'est important pour le calcul lié à la gravitation). Pour le moment d'ailleurs je ne m’étais focalisé que sur la gravitation de Newton.




Alors 1ère idée reçu sur les TN: c'est petit et d'une densité astronomique.

Faux, et archi-faux enfin selon les cas :mrgreen: .

Pour un TN ayant la masse de notre soleil, il ferait effectivement 6km de diamètre. (mais il faudrait le comprimer à 3km de diamètre auparavant pour déclencher l'effondrement gravitationnel)
Problème:Dans l'espace, il faut 3,3 masses solaire minimum pour créer un TN à moins d'avoir un compresseur de soleils :shock: .

Mais le rayon de l'horizon des évènements croit avec la masse du TN. normal me direz vous.

Or c'est une sphère je vous rappelle donc sa densité diminue par la masse au carré!
Or pour un TN super massif, on arrive à des aberrations d'un TN ayant 3 fois le diamètre du Système solaire (soit 18G de km de rayon) , d'une masse de 4 milliards de masses solaires (soit 8 x10^36 kg).

calcul de sa densité = masse / volume

volume = [(18 x 10^12 m)^3 x (4 x pi)] / 3 = (5832 x 10^30 x 4 x pi) / 3 = 24429 x 10^30 m^3.

densité: (8 x 10^36) / (24429 x 10^30) = 8000000 / 24429 = 327

Vous lisez bien: sa masse volumique a ce TN super massif est de 327kg par mètre cube, soit moins du tiers de la masse volumique de l'eau (à 1000 kg par mètre cube)

Ca vous en bouche un coin, n'est-ce pas!
En fait, il est probablement possible de survivre au forces gravitationnelles à sa surface. (du moment que les rayonnements ou le vide ou tous les autres trucs dangereux dans l'espace ne te tue pas) :mrgreen:


Me suis aidé des caractéristiques de M87, le + gros TN jamais découvert pour faire les calculs.
http://www.dailymail.co.uk/sciencetech/ ... ds-newsxml

Re: Comment programmer une galaxie ?

MessagePosté: Mar Sep 25, 2012 11:47 pm
de Trevors
En fait, il est probablement possible de survivre au forces gravitationnelles à sa surface. (du moment que les rayonnements ou le vide ou tous les autres trucs dangereux dans l'espace ne te tue pas) :mrgreen:


C'est pas tant les forces gravitationnelles qui sont dangereuses que leur gradient. Autrement dit, subit une force énorme n'est pas dramatique. Mais que ton bras droit soit plus attiré que ton bras gauche, est dangereux. C'est le principe de l’écartèlement. En fait, quand tu traverse un trou noir, les forces sont finies, et si on est un point, on ne s'en rend pas compte. Par contre, si on est genre 2 points reliés par un ressort (idéal), c'est une horreur, et le ressort explose car tes 2 points subissent une différence de forces énorme. Ton système est écartelé.

Re: Comment programmer une galaxie ?

MessagePosté: Mer Sep 26, 2012 12:39 am
de Cinétic
Certes, mais je parlais par exemple, si on pouvait s'assoir à la surface du soleil, on se prendrait une gravité de 27g. Pas moyen que tu survives bien longtemps à ce taux. A 9g, sans équipent anti-g, la plupart des gens s'évanouissent par manque de sang au cerveau.

Le gradient est un autre problème en effet. On va dire que je mets ça dans:
tous les autres trucs dangereux


:P

Re: Comment programmer une galaxie ?

MessagePosté: Mer Sep 26, 2012 2:52 am
de Veovis
Ta question est donc plus un problème de physique que de programmation...
Et je ne me sens pas de faire un cours, mais tu devrais trouver tout ce que tu veux sur internet concernant les lois en cause. n'oublie pas le cycle de vie des étoiles, la répartition des débris gazeux d'étoiles mortes qui donnent les nébuleuses où naissent les autres étoiles.

Désolé mais je n'ai aucune réponse qui pourrait te convenir, le problème est très complexe puisqu'on doit également simuler les explosions de gaz, leur expansion, leur contraction locale sous l'effet de la gravité puis la naissance de l'étoile qui en résulte, provoquant une nouvelle explosion qui va balayer le reste de gaz autour...

Simuler un nuage s'apparente à de la mécanique des fluides, c'est à dire un milieu continu, ce qui pose souvent problème lors de la simulation : il faut trouver la bonne discrétisation.

Je ne sais pas exactement quel est le but de ton expérience, mais si tu veux quelque chose de cohérent et de réaliste, tu vas en avoir pour un moment. Surtout si tu compte le visualiser par la suite !


Bon courage !

Re: Comment programmer une galaxie ?

MessagePosté: Mer Sep 26, 2012 9:46 am
de Technocratie
Je n'ai aucunement l'intention de simuler une galaxie. Je veux juste une galaxie qui "semble" réaliste ... très grossièrement, des points qui tournent ^^

En fait je viens de terminer un "prototype" ... Je n'ai plus qu'a le mettre à une échelle plus importantes avec plus d'astres.

Pour information je l'ai finalement fait en PHP.

Image

Re: Comment programmer une galaxie ?

MessagePosté: Mer Sep 26, 2012 1:01 pm
de Canard Boiteux
Woa pas maaaaal !
Et si tu rajoute un corps genre comète, il sera capturé par le système ou pas (en gros est-ce que toutes les interractions ont prises en compte ?)

Re: Comment programmer une galaxie ?

MessagePosté: Mer Sep 26, 2012 1:24 pm
de Technocratie
Chaque astre possède une masse, une vitesse et une direction. Chacun des astres sont attirés les uns et les autres en fonction de leurs masses, leurs vitesses et leurs distances.

Donc oui, si je met une comète elle sera influencée par les autre astres ... et les autre astres seront influencés par la comète (mais d'une moindre mesure ^^).

Re: Comment programmer une galaxie ?

MessagePosté: Mer Sep 26, 2012 5:18 pm
de Veovis
chacun des astres subit l'influence gravitationnelle...

presque 200.000.000.000 d'étoiles subissant chacune l'influence de presque 200.000.000.000...

soit pour chaque pas de calcul de 40.000.000.000.000.000.000.000 itérations.

Amuse toi bien ! Quel est ton objectif ? le but de ceci ?

Re: Comment programmer une galaxie ?

MessagePosté: Mer Sep 26, 2012 5:44 pm
de Technocratie
Je doute qu'il y ait autant d'étoiles dans Celestus ^^ Si je prend une galaxie de 1000x1000 par exemple, et que je considère qu'une galaxie est plus vide que pleine. Cela nous donne de façon arbitraire environs 600'000 astres. Ce qui nous donne quand même 360'000'000'000 itérations, mais il suffit d'écarter les étoiles trop éloignées (et donc effet gravitationnel négligeable) en faisant une sorte de segmentation de la galaxie.

En fait pour le moment il n'y a pas réellement de but. Juste un petit défi.

Et pourquoi pas plus tard m'en servir pour faire une jeu ^^ Qui sait ?

PS : pourquoi utiliser des points comme séparateur de milliers ? J'ai trouvé ça déroutant ^^

Re: Comment programmer une galaxie ?

MessagePosté: Mer Sep 26, 2012 6:05 pm
de Canard Boiteux
Tu veux postuler à la NAZA ? :P
Je plaisante mais j'avoue que c'est déroutant comme projet. De plus si tu en fais un jeu; à quoi va servir de modéliser les mouvements et interactions ?

Re: Comment programmer une galaxie ?

MessagePosté: Mer Sep 26, 2012 8:11 pm
de zoltane
Faut pas oublier de prendre en compte le sato.

Re: Comment programmer une galaxie ?

MessagePosté: Ven Sep 28, 2012 8:03 am
de Technocratie
J'ai un peu avancé sur la Galaxie. Et j'ai découvert qu'en fait les spirales c'est si compliqué ^^

Re: Comment programmer une galaxie ?

MessagePosté: Mer Oct 03, 2012 5:42 pm
de Canard Boiteux
Accroche toi ... aux spirales !!!!

[rires fous du canard, perdus au milieu de la consternation générale]