ASCII新玩法!不仅能实现光线追踪,模拟星系碰撞和流体力学也不在话下

2021-03-10 11:46:25 浏览数 (1)

新智元报道

编辑:Q

【新智元导读】ASCII码的上限到底在何方?国外小哥不仅用ASCII实现光线追踪效果,现在还有了模拟流体动力学!

还记得上次那个用ASCII码实现光线追踪效果的国外小哥吗?

‍当时这个项目一经发出,在Reddit上的热度就达到了2.1K,演示视频在Youtube上的观看量也达到了3万多次。

不过我们可以看到,这个效果还是比较粗糙的,纹理也不够细致。

光线跟踪(Ray Tracing)是一个在二维(2D)屏幕上呈现三维(3D)图像的方法。它可以实现更为逼真的阴影和反射效果,同时还可以大大改善半透明度和散射,带来相似于人眼所看到的更为真实场景效果。

光线追踪原理

最近,这位小哥再次发布了改进版的光追效果!

本次的改进主要在于阴影部分的处理和并行计算的方面:

‍可以看出,改进后的阴影层次更加分明,甚至球体表面反射的影像也更加的清晰。

完整版光追效果的视频如下:

项目地址:

https://github.com/DinoZ1729/Ray-2

ASCII码实现其他效果

从小哥的Github中可以看到,他不仅仅使用ASCII码实现了光线追踪,甚至还有星系、地球等其他效果。

比如,模拟两个星系之间的碰撞:

如果想在自己的电脑上运行,整个过程也非常的方便,只需要在控制台中将字体改为8,就可以实现在Windows上的运行;如果想在Linux或者其他操作系统上运行,那么只需要加上修改几行代码的步骤就可以了。

实现流体动力学效果

除了这位外国小哥,我们还在Youtube上看到了一些其他用ASCII码实现的效果,都十分的有创意。

比如这个用ASCII码实现流体力学(Fluid Dynamics)效果的展示:

波浪

倾倒

甚至还有彩色的效果:

未来这位小哥可能会推出教程,感兴趣的同学敬请期待!

参考链接:

https://www.youtube.com/watch?v=QMYfkOtYYlg&feature=emb_logo

0 人点赞