渲染了一些新作品,年前给自己的项目做最后一次宣传

2020-01-17 15:51:28 +08:00
 mathzhaoliang

项目地址在这里: https://github.com/neozhaoliang/pywonderland 项目的主旨是用代码展示数学之美。

最近在折腾一个新程序,渲染三维双曲空间的铺砌。这个项目非常复杂,不但涉及到的数学非常难,而且渲染步骤也比较费时。但是得到的效果异常惊人:

这里面每一个图像对应三维单位球的一个均匀铺砌。在欧式空间里面三维单位球是一个半径为 1 的体积有限的球,但是我们可以把这个球里面的度量换成庞加莱双曲度量,在这个度量下这个空间是无限大的,所以可以塞进去无限多个 "胞腔"。对正则铺砌来说,其中的胞腔看起来离得越远就越小,实际上它们在双曲空间里面都是一样大的。

二维的情形也许更好理解一点:

这是一个二维的单位圆盘,在庞加莱度量下它也是无限大的一个空间,可以塞进去无限多个多边形。那些靠近单位元边界的多边形虽然看起来小,但是实际上可不小,它们跟位于圆盘中心的多边形是一样大的。

上面的三维图像都是在 Python 里面计算好然后输出到 POV-Ray 渲染得到的。我在公司的办公室里面有一台 16G 内存的台式机,我一般是下班以后运行 Python 的部分先生成场景数据,大约耗费十分钟左右,然后开启 POV-Ray 渲染进程,这个一般耗时两小时左右,所以我都是第二天早上过来查看结果。

二维的图像则一律是直接输出到 SVG 格式。

如果你想看看 pywonderland 这个项目能做什么,欢迎访问图集

https://mathzhaoliang.imgur.com/all

(虽然项目已经维护几年了,star 也攒了不少,还是希望年前能过 3700 star 大关)

3016 次点击
所在节点    分享创造
6 条回复
misaka19000
2020-01-17 15:52:17 +08:00
楼主厉害了!!!
JCZ2MkKb5S8ZX9pq
2020-01-17 20:01:47 +08:00
imgur
You've taken a wrong turn.
jjshare
2020-01-18 14:04:04 +08:00
这结构,装上玻璃,装修一下,感觉就是一间间共享空间啊
FourAndHalf
2020-01-20 12:25:12 +08:00
这才是真大佬,已经关注 star fork
VVincent
2020-01-20 14:32:23 +08:00
哇有点酷!
mathzhaoliang
2020-01-20 19:53:57 +08:00
@FourAndHalf 希望能提 issue 或者 pr!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/638771

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX