查看原文
其他

能玩上最新的游戏,还要感谢黑洞科学家?

3C 273 中科院高能所 2022-06-24

撰文|3C 273

来源| 中科院高能所微信公众号


2018年的夏天,德国,科隆游戏展,英伟达公司发布了一款全新命名的RTX显卡,将天文学家广泛使用的光线追踪(ray tracing)技术(以下简称“光追技术”)带入千家万户,开启了游戏玩家的新时代。


不久后的2019年,事件视界望远镜合作组公布第一张黑洞阴影照片,与通过光追技术得到的广义相对论预言完全一致,开启了天体物理学的新时代。


在2022年5月12日,一张银河系中心黑洞的照片被公布,光追+广相的理论预言再一次得到印证。这种“上得银河,下得电脑”的光追技术到底是什么,以至于无论是电影制作人、游戏玩家还是天文学家都对其青睐有加呢?


本文将对光追技术做一个极其简单的介绍,有兴趣的读者还可以自己写一个算法,来模拟黑洞的阴影


光追在复杂反光环境下的表现,pens.ac.id


 什么是光追?

光线追踪是干什么的呢?顾名思义,这项技术让我们老老实实追着光线走的路,去模拟一个真实的场景。


大家在中学时学习都学过凸透镜的成像,我们很熟悉凸透镜的几个法则:

1.平行于主光轴的光线,折射后穿过像方焦点

2.穿过物方焦点的光线,折射后平行于主光轴

3.穿过透镜中心的光线,折射后方向不变


凸透镜成像 | 作者自绘


这是单个透镜的情景。如果有好几个透镜,比如显微镜,我们要怎样分析光路呢?


很简单,我们把每一条光路都分成几段:从物体到物镜,从物镜到焦点,从焦点到目镜,再从目镜到眼睛。


一路追着光线走,这就是最简单的光线追踪方法,或者是光追算法里面的光线步进(ray marching)方法,其实大家已经掌握了。


显微镜示意图 | 作者自绘


对模型进行渲染,一个很朴素的想法是,光线从哪里来,就把哪边照亮,然后在另一边留下影子。现实情况往往会很复杂:生活中的光源除了点光源和平行光源,还有各种漫射光。


例如教室的天花板上往往有很多个日光灯管,教室两侧还有窗户,有时候前方还有明亮的屏幕。窗户中透过的阳光除了作为一级光源,还可以照在墙壁上再反射。


比如我们想要模拟教室里面放着的一个正方体,传统的想法是把这个正方体分成一层一层的,每一层都可以抽象成很多像素格子,称为光栅化,于是可以用一个矩阵描述。通过一个简单的矩阵投影运算,就可以把这一层投影到屏幕(眼睛)上。不断重复这一过程,我们就将一个带有光源的立体图形,变成了平面图形。这就是光栅渲染


光栅化茶壶的投影变换 | codinglabs.net


光栅渲染有一个缺点:这个方法只关心每一层光栅的行为,层与层之间没有联系,属于是各扫门前雪的行为。但很多时候,我们关心不同物体的互动行为,比如水面的反光。


经常玩游戏的朋友们一定很熟悉诸如“环境光遮蔽”、“漫反射”这些术语,这些技术可以在一定程度上加上不同层对全局信息的把握。但,每个游戏都有自己的优化方法,不同厂商优化能力也大相径庭。遇到优化差的厂商,最后结果就是,画质又差,游戏又卡。


一个另类的思路是,为什么我们不直接沿着光线走呢?这就是光追技术


在1966年,一组科学家为计算γ射线如何在物体表面进行反射而开发了这一技术,但由于光追对计算机性能要求较高,直到最近几年,这一技术才走入寻常百姓家。


光追技术的优越性在于,不管光路有多复杂,不管反射了多少次,只要老老实实沿着光路走,我们就可以看到很真实的光影效果,特别是反射和阴影。 


光追的原理 | H´ector Antonio Villa Mart´ınez


给定一个光源,例如灯,让一束光线从光源出发,一路经过别的物体,这束光线可以穿过(例如玻璃)、阻挡(窗帘)或者反射(墙壁),同时不断损失能量。


我们用之前显微镜的方法,跟着光线一段一段走,最后看能不能到达眼睛里面。在实际操作中,因为眼睛就这么大,绝大部分光线是不会进入眼睛的,盲目渲染会浪费资源。


由于光路是可逆的,不妨假设眼睛发光,光线被一路增强,最后打到光源上,就留下来,否则就排除不要了。这样的方法可以极为有效地对复杂的光学环境进行模拟,包含那些,光线扭来扭曲拐弯的场景!


可是,光线在什么时候才能拐弯呢?


 扭转光线的黑洞

科学家们在长期的理论与实验探索中,发现光线也会像运动的小球一样,在引力场里面改变方向。


一个简单而有效的论述是,光子虽然没有静止质量,但是光具备与波长相关的动能,动能作为能量-动量张量的一部分,会发生引力相互作用。具体表现为,在大质量天体附近,光线会发生偏折。


早在1919年,在广义相对论提出后仅仅4年的时间内,英国物理学家爱丁顿就率队测量日全食发生时,经过太阳附近的星光偏折,与相对论的预言相符并引发全世界的轰动(想一想,为什么要选择日全食的时候测量)。


当时的新闻报道,mappingignorance.org


太阳毕竟只是一个致密度很低的主序星,对于一颗致密度更高的星球,会发生什么呢?


广义相对论提出时,德国人施瓦西就得到了一组静止球对称天体的解析解,也就是著名的施瓦西黑洞


黑洞表面的时空弯曲如此之剧烈,使得在黑洞表面运动的光子永远也无法逃离它们的引力范围。


显然在距离黑洞表面很远的地方,时空会恢复平直——否则距离银河系中心超过2.5万光年的我们,一定会感受到异常。


时空在远处恢复平直,称为渐进平直时空,utoronto.ca


从极端的弯曲,到远处的平直,中间发生了什么呢?


我们先来看看牛顿力学所预言的黑洞。在牛顿力学中,黑洞的第一宇宙速度是光速,所以光可以被束缚在黑洞表面的圆轨道上不断运动下去,且不会落入黑洞中(在不考虑其他因素的情况下)。


在距离黑洞稍远一点的地方,比如在黑洞表面10厘米的高度,一个以亚光速运动的粒子仍然可以绕着封闭轨道运动。


从牛顿力学的角度,黑洞外面总可以束缚着各种粒子——就像地球表面的大气层这样。


但来自广义相对论的预言告诉我们,一个物体在黑洞附近的运动除了用牛顿的引力势来描述,这个势能还会额外受到弯曲时空的修正,相比牛顿力学的情况会减小。


著名的引力红移现象就是这种修正的一个体现。这个修正给我们带来的直观感受便是,具有一定能量的物体,在牛顿力学里面还可以环绕黑洞运动,但在广义相对论里面不能了。


于是广义相对论预言,黑洞附近的物体更有可能被黑洞吸收。


黑洞附近的等效势,图源网络


最后的结果是,即使以光速在黑洞表面附近运动,这些粒子最终还是会掉入黑洞内,换句话说,粒子在黑洞外运动,会有一个最小的稳定圆轨道。对于有质量的粒子,我们称为ISCO(innermost stable circular orbit),而对于光子,它们在任何参考系下都以光速运动,并且质量为0,这样的轨道我们称为光球(photon sphere)。


对于不自旋的施瓦西黑洞而言,它们的ISCO半径是事件视界半径的3倍,而光球半径则为1.5倍。二者的根本差异在于光子的静止质量为0。


 看到了黑洞?

知道光线在黑洞附近受到弯折,就可以去做模拟,看看黑洞长什么样了。


黑洞是一个不发光的黑色球体(在这里我们不考虑可能的霍金辐射,因为对于大质量黑洞而言,霍金辐射远暗于宇宙微波背景辐射),所以会有一个大黑圆。


光球以外的光线被扭曲,可能有少量光线会进入这个阴影,但它们还是微不足道的。对这样复杂光学系统的模拟,之前提到的光追算法就有了用武之地。


黑洞附近光线的模拟 | 陶军 等


光追来模拟黑洞的阴影大概分为几个步骤。出于节省计算资源和光路可逆的考虑,只计算眼睛能看到的光线路径。


首先从眼睛里面发出光线,为光线设置一定的步长,每走一步,都看一看黑洞对这些光有什么影响。


这些光如果落入黑洞,我们就不管了,循环停止。如果它们不落入黑洞,而是经过一系列复杂的过程后,跑到了无穷远的地方,我们就把它记录下来。


对施瓦西黑洞进行模拟,一个非常简单的流程示意如下:



循环1,遍历每一束光

(由一个矩阵所描述,代表屏幕或者眼睛“发出”的所有光)


   赋值为1

   循环2,从轮数=1,到轮数=最大轮数,每次循环轮数+1

(代表光线走的每一步)


      光子位置 增加 步长×速度

(速度是3维矢量)

      速度 增加 加速度

(表示引力场如何弯曲光线)


      如果 光子 击中 黑洞

      赋值为0并退出循环


   结束循环2

结束循环1


这里光子走的路径实际上是很容易解析得到的类光测地线


通过模拟,最后我们得到一个包含所有可视光线的矩阵,1表示能从眼睛出发到达无穷远——也就是可以从无穷远出发而被我们看到;0表示这些光被黑洞吸收了,也就是阴影。用这个矩阵画图,你也可以画出一幅很简单的黑洞阴影图像。


一个黑色圆附近有一圈亮光,黑色圆就是黑洞的阴影,亮光就是光球,这幅图像就是人们用来和天文观测进行对比的图像。


如果两个图形可以吻合,就表明广义相对论的预言是正确的。在此基础上我们还可以知道黑洞质量、大小等参数。


如果考虑更复杂的旋转克尔黑洞,黑色阴影变得不再对称,像这样


使用光追模拟得到的克尔黑洞阴影 | V. L. FISH 等


这种不对称本质上还是因为光子绕着黑洞转圈。圈数多,则积累的光子越多,亮度越高。


克尔黑洞的阴影 | V. I. Dokuchaev, N. O. Nazarova


在黑洞阴影的照片上,我们很容易看出这种不对称,从而利用光追技术验证了广义相对论的成功。



这就是光线追踪对黑洞的模拟。


实际的黑洞远比上面的模拟要复杂,大质量黑洞通常伴随着吸积盘、喷流等结构,有时候还会有双黑洞系统。


但我们总可以用类似的方法,去模拟黑洞附近的光线,最后与天文观测进行对比,来获取神秘黑洞的各种有用信息。


 总结

关于黑洞还有另一个有趣的故事。最早的时候,为了研究黑洞那微弱的霍金辐射,人们采取了很多方法,比较著名的是澳大利亚射电天文学家奥沙利文的一种快速傅里叶变换(FFT)方法


这种方法后来作为WiFi的核心技术,不但成为全世界人民不可离开的伟大技术,还给奥沙利文所在的天文台带来数亿美元的专利费。


从光线追踪这个例子,最早研究电离辐射的危害,到研究黑洞,再到游戏与电影,基础科学的进步,除了造福于科研与生产,往往还会给极大造福于我们的生产生活呢。



参考资料:

光追原理图,H´ector Antonio Villa Mart´ınez, Advanced Algorithms – Fall 2006:

Accelerating algorithms for Ray Tracing, https://www.researchgate.net/publication/287646188_Accelerating_Algorithms_for_Ray_Tracing

黑洞附近的光线,Aoyun He, Jun Tao, Yadong Xue, Lingkai Zhang, Shadow and Photon Sphere of Black Hole in Clouds of Strings and Quintessence, Chin.Phys.C 46 (2022) 065102, arXiv: 2109.13807 [gr-qc]

克尔黑洞的阴影1,V. L. Fish .et.al, Imaging an event horizon: mitigation of scattering toward Sagittarius A*, arXiv: 1409.4690 [astro-ph. IM]

克尔黑洞的阴影2,Vyacheslav I. Dokuchaev, Natalia O. Nazarova, Silhouettes of invisible black holes, Phys.Usp. 63 (2020) 583


编辑:Aletta

一封珍藏多年的信件 | 我与散裂

星标关注“中科院高能所”微信公众号

精彩内容不错过


觉得不错,请点这里↓↓↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存