ES version is available. Content is displayed in original English for accuracy.
I'm Sasha (Alexander) Plavin, an astrophysicist at Harvard's Black Hole Initiative studying quasars and black hole environments. I work with raytracing/radiative transfer simulations professionally, and wanted to make one anyone can play with — so I built this app.
Put the black hole onto your screen (any browser), or directly into your room with AR or VR (requires WebXR, for example Chrome on Android, or any VR headset). When looking around, pay attention to unintuitive relativistic effects: rays bending around the black hole, and special relativistic "Doppler boosting" changing brightness depending on the viewing angle — zoom out to see the fast jet where the latter effect is especially pronounced. Faint markers show where other viewers are standing right now.
Alternatively, put the black hole in front of your camera and watch it lens your actual surroundings. Light winds around the hole, so you see both what's in front of you and what's behind you at once (when the device and browser allow both camera feeds). The closer to the black hole, the stronger the bending — and the longer the light-travel delay: wave at it and watch the changes propagate inward. (unfortunately, WebXR restrictions make AR passthrough and the camera feed mutually exclusive)
No signup, basic features work on every device, no data uploaded — the camera feed never leaves your device. Source code: https://github.com/aplavin/blackhole.plav.in.
Enjoy having a black hole in your room, or use it for education/outreach — any questions, feedback, or suggestions are welcome!

Discussion (31 Comments)Read Original on HackerNews
Yeah, that was the day I learned I have a deep, crippling phobia of large objects. And Melanoheliophobia, which is fear of black holes. The only other time I've felt that way was snorkeling once near a giant 3 story tall bait ball of swirling fish, which was so disorienting and panic inducing that I vomited.
I was nervous beforehand, but once I was in (and had accepted the inevitability of my own death) it was surprisingly calm / calming floating around and having these frickin' aquatic alien species just going about their dailies around me. I went close to the massive grouper just to get the scale right (not that I can really remember, it was 26 years ago). I even looked through the perspex so I could see the non-human-safe sharks in the tank next door.
After the (awesome) experience, I went and looked at the grouper from the outside (one of those underground big perspex viewing rooms) and I was back to being awed / scared by its size, and somewhat refusing to believe that I'd been in there with it. The memory of it is scarier to me than what I remember feeling when actually doing it. It's weird.
I wonder if some tricks, adjustments are feasible, to minimize the effects of these phobias? I see these visualizations as a pathway to make understanding such a complicated, unintuitive object more accessible – and would be great to make it even more accessible, if it makes sense... Happy to chat more, brainstorm some solutions.
Strongly recommend Outer Wilds. Falling into the black hole the first time was one of my most scared moments in gaming. I was totally panicking lol
I wouldn't mind at all if it didn't say that this was a *physically accurate* black hole specifically, but this now falls under misleading science communication in a way that often gets hand waved away as if it doesn't matter, so we've got to clear some things up!
1. The accretion disk shouldn't be red, people just expect it because it looks cool. Black hole accretion disks are near universally hot enough to be blue. Interstellar did this too, and tried to handwave it away very unconvincingly
2. This is a non/low (?) spin black hole, which isn't super duper realistic
3. It ignores the position of the camera (which affects the lorentz shifting)
4. The doppler shifting isn't terribly accurate
5. It doesn't model the accretion disk temperature distribution or colour with any kind of accuracy. Usually you model accretion disks as a blackbody radiator, shift it by the doppler, and to display this convolve this against the human eye response (LMS), go to XYZ, then RGB, do a physical tonemapping step, before an sRGB conversion. This instead does none of that - no step of this is done with any physical accuracy. Its not even illustratively correct as we'll get into
6. The actual radiative transfer is very simplified compared to what you'd use for realsies, and isn't based on any real numbers, with very simplified equations. The opacity and emissivity of the disk is arbitrary, as is the size, and it does not correctly incorporate brightness or extinction, eg here https://github.com/aplavin/blackhole.plav.in/blob/2f004bfeca... is super simplified
7. The wrong equation is used for the doppler calculation. They use the I^3 variant, whereas the data you get out of a disk sample is *radiant flux* which is actually F_obs = F_emit / (z+1)^4. This is a very common mistake in image processing, which means that the doppler shift and observer brightness isn't correct. Surface brightness over here https://github.com/aplavin/blackhole.plav.in/blob/2f004bfeca... is *not* a spectral radiance but instead a radiant flux
Stuff like the brightness -> colouring conversion is particularly inaccurate. Eg if you check out the source:
https://github.com/aplavin/blackhole.plav.in/blob/2f004bfeca...
It maps the pseudo brightness completely arbitrarily to colour. The resulting colour/brightness here then doesn't correspond to anything remotely physical. It also performs a *linear* mapping of a linear quantity (brightness) to sRGB (which is a nonlinear process!!), which means that it doesn't even retain any of the underlying physical characteristics of the brightness simulation, which itself is quite inaccurate. Its vibes all the way down
This is all fine if you're doing visualisation, but this isn't an accurate simulation. I wish this was just called a visualisation of a black hole, but its being communicated as if this is super hard science with credentials and all
I consider the colormap choice to be completely arbitrary though, without affecting accuracy. Basically, it represents intensity at a given frequency, the image like one would get from a telescope. It wasn't intended as a faithful optical color representation! And really, in my (admittedly biased) view of a radio astronomer, I tend to assume frequencies invisible to the human eye anyway.
Or could the brightness shown be a result of it being Kerr vs Schwarzschild?
Kerr vs Schwarzschild (static vs rotating black holes) is a much smaller effect visually – that's why it is so hard for us to measure black hole spins (= how fast they are rotating) observationally, even with the Event Horizon Telescope.
Very cool demo! Thanks for sharing!
(For reference, my experience rendering black holes is recreating Luminet's rendering from the late 70s: https://www.ioccc.org/2025/cesmoak/index.html )
Fortran punchcard style to render black holes?! That's really going full circle to the origins, I really enjoyed reading about Luminet's work some time ago.
Me: zooms in