【大作业】 基于广义相对论的黑洞光追

大作业 基于广义相对论的的光线步进史瓦西黑洞模拟

作业描述

其实应该是Ray Marching,光线步进。通过求解无自旋黑洞附近类光测地线方程来获得的光线路径。详细细节见github链接

这份作业其实代码量比我最开始想象中要少很多,而且还可以加一些其他细节。但为了实现它废了非常多的时间(出现过很多bug,而且对我来说还挺难debug的),主要是在思考坐标变换关系以及步进方式的细节。最后弄出来非常开心 :joy:

我想大作业应该是需要很复杂的那种吧,但我这个实现完感觉又没那么复杂所以不知道能不能被作为大作业。(难点不在于代码和算法,而是广义相对论坐标变换)

效果展示

动图:

代码链接

Code

另外:附一张光线在黑洞周围如何弯曲的示意图,是debug的时候写的作图小程序:

从图中可以看出来,我们其实能从黑洞前方“看见”黑洞的全部表面。这也表示我们肉眼看到的黑洞要比真正事件视界对应的半径大一些

14 Likes

太酷了, 我觉得作为大作业是没有问题的。
可以把步骤和代码对应起来么?或者在代码里多加点注释这样就更赞了。

好嘞,我后续添加些细节上的解释

2 Likes