每个像素从相机向过去追踪一条光子。使用 Boyer–Lindquist 坐标下 Carter 分离的超哈密顿量,以 Mino 时间 dλ = Σ dτ 积分(四阶 Runge–Kutta,自适应步长):
2ΣH = Δp_r² + p_θ² − P²/Δ + (L − a sin²θ)²/sin²θ。能量 E、角动量 L、Carter 常数 Q 由对称性守恒,验证脚本检查约束 H = 0 的漂移(掠过光子环的光线 |H|/r² ≈ 10⁻⁶)。黑洞阴影、光子环 (n = 1, 2 …) 以及盘背面的透镜像都是积分的结果,不是贴图。
相机是局域无转动观测者(ZAMO),因此近距离时可以看到参考系拖曳造成的非对称阴影;“坠入黑洞”模式使用 E = 1、L = Q = 0 的自由下落“雨滴”观测者,对每条光线做精确的相对论光行差变换。叠加的虚线是有限距离观测者看到的临界曲线(Bardeen 1973 的球面光子轨道),追踪得到的阴影边缘与它的相对偏差小于 10⁻³(见 tools/verify-physics.mjs)。
盘的有效温度来自 Page & Thorne (1974) 的相对论能流 F ∝ −Ω′/(r(E−ΩL)²) ∫(E−ΩL)L′dr,内边界在 ISCO(Bardeen–Press–Teukolsky 1972)。参数 δ 引入 ISCO 处的磁应力(Agol & Krolik 2000);δ = 0 即经典零力矩盘。ISCO 以内的气体沿真实的陷落测地线下落并仍有少量辐射——这是近年理论与 X 射线观测关注的“陷落区辐射”(Mummery & Balbus 2019;Mummery et al. 2024)。
观测到的颜色严格按 I_ν,obs = g³ B_ν(ν/g, T) = B_ν(ν, gT) 计算,其中频移因子 g = E_obs/E_emit 同时包含多普勒效应、引力红移和横向时间膨胀;黑体颜色由 CIE 1931 色匹配函数积分得到。可以分别关闭颜色频移和亮度集束来对比。
数十万个粒子各自积分赤道面的 Kerr 类时测地线(Mino 时间下的 d²r/dσ² = R′(r)/2,速度 Verlet),在 Web Worker 中运行。盘粒子受湍流扰动和径向流入(流入速度为了观看做了加速),进入 ISCO 后自然开始陷落。粒子被写入 (ln r, φ) 纹理形成“长曝光”轨迹,光线每次穿过赤道面都在这里取样,所以粒子和盘一样被正确地引力透镜化。盘图样的采样还考虑了光线的传播时间差(慢光效应),因此二级像的相位是对的。
“潮汐瓦解”让一颗恒星沿抛物线轨道掠过近心点;碎片带有 Rees (1988) 的冻结能量展宽:一半束缚、绕行并发生相对论进动,另一半逃逸。
“热流 · 230 GHz”模式模拟 M87* 和 Sgr A* 这类低吸积率黑洞:光学薄、几何厚的热同步辐射流,发射系数按 g³ j 沿光线积分,并可用 20 µas 高斯波束模糊到 EHT 的分辨率(M87* 的 1 GM/c² ≈ 3.8 µas)。EHT 在 2019 与 2022 年分别给出 M87* 与 Sgr A* 的图像;之后又测到偏振结构,2025 年的多年观测显示 M87* 偏振图样发生了翻转。热斑模拟 GRAVITY 在 Sgr A* ISCO 附近观测到的轨道运动耀发(2018),它的位置随“推迟时间”计算,所以能看到次级像的延迟。
喷流亮度按 BZ 功率 P ∝ Φ²Ω_H²(视界角速度 Ω_H = a/2r₊)缩放,a = 0 时没有喷流。形状采用 M87 观测到的抛物线准直 W ∝ z^0.58(Asada & Nakamura 2012),截面边缘增亮,节点以接近光速向外运动,并计入多普勒增亮与光行时间,所以朝向观测者的一侧会出现视超光速。
这是实时可视化,而不是 GRMHD 模拟:粒子之间没有流体力学和自引力,喷流和热流的发射系数是参数化的,盘的径向流入被加速。表面温度被映射到可见光(真实的类星体盘峰值在紫外,X 射线双星在 X 射线),这一点与《星际穿越》的处理相同。