Poursuivant ma découverte (*) du génial Hyperion 3D, je me suis attaqué à simuler une Galaxie Spirale.
Il faut dire que la formation des bras spiraux des galaxies n’a été comprise que récemment parce qu’il fallait « penser différemment ». Bien que je l’aie un peu expliqué ici, je voulais le voir pour le croire. Et voilà, c’est fait, admirez !
Si vous voulez vous aussi explorer de belles galaxies virtuelles en temps réel, il vous faut:
- télécharger Hyperion ici et l’installer
- télécharger Hyperion_Galaxy Demo_Src.zip , et le décompresser n’importe où
- lancer Hyperion et ouvrir SpiralGalaxy.xml .
- Jouer avec les touches F1-F2 et F3-F4 qui modifient les paramètres eratio et etwist (voir plus bas) pour obtenir différentes spirales.
Comme le montre l’image ci-contre (réalisée avec une petite macro SolidWorks, en passant…) les bras spiraux sont simplement un effet géométrique : ils correspondent à la zone dans laquelle les ellipses sont rapprochées, donc il y a une plus grande densité d’étoiles dans ces zones, mais les étoiles suivent tout de même des orbites elliptiques : elles ne restent pas dans les bras.
La simulation fait décrire à quelques milliers d’étoile des trajectoires elliptiques autour du centre de la galaxie, le grand et le petit axe de chaque trajectoire étant tournés d’un angle qui dépend de la distance moyenne au centre. Il faut donc calculer la trajectoire de chacune des milliers d’étoiles en temps réel, chose possible avec Hyperion grâce à son intégration du langage LUA, que je ne connaissais pas du tout. C’était donc l’occasion de l’apprendre. Il a beaucoup de qualités dont je reparlerai ailleurs, et un gros défaut : faiblement typé, il n’effectue que peu de vérifications à la compilation et aucune à l’exécution : en cas d’erreur, c’est le crash.
La programmation ne pose aucune difficulté particulière pour quelqu’un connaissant un peu la trigo et la 2D. Oui, 2D parce que tous les calculs se font dans le plan XY, la coordonnée Z de chaque étoile étant un petit nombre aléatoire constant, destiné à donner un peu d’épaisseur à la Galaxie.
La visibilité des bras dépend:
- de deux paramètres définissant:
- l’aplatissement des ellipses (eratio = grand axe / petit axe)
- l’angle de rotation des ellipses en fonction du rayon (etwist)
- de l’apparence des étoiles. Les premiers bras bien visibles ont été obtenus avec des étoiles texturées avec un gros point rouge. En utilisant une texture d’étoile réaliste trouvée sur cette page, la couleur est plus crédible, mais les bras sont moins visibles :
l’idéal serait d’utiliser plusieurs vertex pool avec plusieurs textures différentes pour simuler différents types d’étoiles, avec leurs couleurs.
(article aussi publié sur 3DMon.com )
2 commentaires sur “Simulation de Galaxie Spirale”
à part ça je m’aperçois qu’il manque un lien vers la version « processing » de cette simulation, qui vous permet de l’admirer directement dans votre browser. C’est ici : https://drgoulu.com/2008/04/03/processing/
Vraiment excellente cette simulation. Bon travail. En regardant la petite image de solidworks on comprend de suite le principe de la formation des bras. Du grand art! A quand la simulation d’un trou noir ?