Hugo Hismans
EN

Retour à l'atlas

Capture de Périastre sur ordinateur
Capture de Périastre sur téléphone

HH·022SciencesEn cours4 août → 17 août 2026422 commits

Périastre

Sagittarius A* calculé pixel par pixel, soixante fois par seconde

Une expérience web pour approcher Sagittarius A*, le trou noir au centre de la Voie lactée. L'image n'est pas une illustration : un shader WebGL2 intègre les géodésiques de la relativité générale pour chaque pixel, et un banc d'essai intégré confronte le moteur à la théorie (sphère des photons juste à 0,002 % près). Autour, tout un vaisseau à explorer : un salon où l'on marche, un voyage à 1 g, les étoiles S qui ont trahi le trou noir, la Lune remplacée par un trou noir, et Lumen, l'IA de bord qui parle.

Ce qui brille

  • Rendu du trou noir par intégration des géodésiques de Schwarzschild en temps réel dans un shader WebGL2 : ombre, anneau de photons et disque replié par la lentille gravitationnelle sortent du calcul, rien n'est peint
  • Banc d'essai embarqué (« Pourquoi c'est exact ? ») : sphère des photons à 0,002 %, rayon de l'ombre à 0,0002 %, dernière orbite stable à 0,074 % des valeurs théoriques
  • Trou noir d'étude avec spin réglable en continu jusqu'à la limite de Thorne (a* = 0,998), métrique de Kerr dans le shader
  • Vaisseau explorable à la première personne : salon, occupant généré par le calcul, écrans de bord, télescope qui mène aux étoiles S, au système solaire vu du nuage de Oort et à un rivage terrestre où l'on remplace la Lune
  • Lumen, l'IA de bord, avec 59 répliques vocales pré-synthétisées, et une musique générative Web Audio pilotée par l'orbite du vaisseau

Mode d'emploi

Choisir FR ou EN, entrer avec ou sans la voix de Lumen, puis glisser pour tourner autour du trou noir, lâcher des sondes, accélérer le temps et visiter le vaisseau

Fabriqué avec

  • JavaScript vanilla (statique, sans build ni dépendance)
  • WebGL2 / GLSL (intégration des géodésiques dans le fragment shader)
  • KaTeX
  • Web Audio API (musique générative)
  • Pointer Events & Pointer Lock
  • localStorage
  • Node.js (48 outils de vérification en ligne de commande)
  • Python + edge-tts (voix pré-synthétisée)
  • GitHub Actions / GitHub Pages

Dans la même constellation