模拟黑洞图像_实时模拟黑洞视觉效果 | 开源

写在前面

这是我上学期图形学的大作业。鉴于中文互联网上实在缺少黑洞视觉模拟的文章,最近有空,随手写一写;没怎么组织,内容有点混乱,见谅。

读懂结果图需要了解一些黑洞物理。强烈推荐:

我算是半个天文爱好者,虽说理论知识基本停留在“pop science”的程度(笑)。前段时间,EHT首次拍到黑洞的照片的新闻铺天盖地;恰逢图形学大作业选题,我就在想,能不能做个实时的黑洞模拟?《星际穿越》的卡冈图雅黑洞

《星际穿越》的卡冈图雅黑洞,给我的印象很深(虽然有相当多艺术化的处理,与物理真实图像的相差很多)。视觉效果上,我尽量与它接近。

最难的部分还是广义相对论的计算模型。其实计算的任务本身很直接,就是找到光在史瓦西度规下的运动轨迹(测地线方程);奈何隔行如隔山,维基上的测地线方程推导,看不懂,结论也是无从下手使用。最后找打了另外一篇做黑洞离线光线追踪的文章,写得很详实,我直接用了它的结论。地址:https://rantonels.github.io/starless/

后续在GPU上实现就比较trivial了,无非是写个像素着色器,做光线步进。然而,想要实时却又不失效果,只能是trick、trick、大量的trick。没太多值得写的。有兴趣可以看源码,后面会给出。

另外,其实当时是打算支持任意多粒子的,这样可以做出恒星被引力撕碎的效果。不过当时时间比较紧,这个功能就被砍掉了;以后有心情再做(逃)。

效果

Edit:似乎图片压缩过后质量一般,大家可以移步Github看,链接下面有。题图默认场景,带有一个恒星,演示引力透镜近距离吸积盘近距离正面光子层附近(左侧为黑洞阴影,趋近水平)爱因斯坦环

源码zhongjn/Messier87​github.com

可执行程序zhongjn/Messier87​github.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值