Périastre
Sagittarius A*, computed pixel by pixel, sixty times a second
A web experience that takes you close to Sagittarius A*, the black hole at the center of the Milky Way. The image is not an illustration: a WebGL2 shader integrates general-relativity geodesics for every pixel, and a built-in test bench checks the engine against theory (photon sphere accurate to 0.002%). Around it is a whole ship to explore: a lounge you can walk through, a 1 g journey, the S stars that gave the black hole away, the Moon replaced by a black hole, and Lumen, the onboard AI that talks.
What shines
- Black hole rendered by integrating Schwarzschild geodesics in real time in a WebGL2 shader: the shadow, the photon ring and the disk folded by gravitational lensing all come out of the computation, nothing is painted
- Onboard test bench ("Why is it accurate?"): photon sphere within 0.002%, shadow radius within 0.0002%, innermost stable orbit within 0.074% of the theoretical values
- A study black hole with spin adjustable continuously up to the Thorne limit (a* = 0.998), using the Kerr metric in the shader
- Ship you can explore in first person: lounge, an occupant generated by the computation, onboard screens, a telescope that leads to the S stars, to the solar system seen from the Oort cloud and to an Earth shoreline where you replace the Moon
- Lumen, the onboard AI, with 59 pre-synthesized voice lines, and generative Web Audio music driven by the ship's orbit
How to use it
Choose FR or EN, enter with or without Lumen's voice, then drag to orbit the black hole, drop probes, speed up time and visit the ship
Made with
- 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