V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
mathzhaoliang
V2EX  ›  分享创造

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

  •  
  •   mathzhaoliang ·
    neozhaoliang · 2020-01-17 15:51:28 +08:00 · 3223 次点击
    这是一个创建于 1801 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

    https://mathzhaoliang.imgur.com/all

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

    6 条回复    2020-01-20 19:53:57 +08:00
    misaka19000
        1
    misaka19000  
       2020-01-17 15:52:17 +08:00   ❤️ 1
    楼主厉害了!!!
    JCZ2MkKb5S8ZX9pq
        2
    JCZ2MkKb5S8ZX9pq  
       2020-01-17 20:01:47 +08:00
    imgur
    You've taken a wrong turn.
    jjshare
        3
    jjshare  
       2020-01-18 14:04:04 +08:00
    这结构,装上玻璃,装修一下,感觉就是一间间共享空间啊
    FourAndHalf
        4
    FourAndHalf  
       2020-01-20 12:25:12 +08:00   ❤️ 1
    这才是真大佬,已经关注 star fork
    VVincent
        5
    VVincent  
       2020-01-20 14:32:23 +08:00   ❤️ 1
    哇有点酷!
    mathzhaoliang
        6
    mathzhaoliang  
    OP
       2020-01-20 19:53:57 +08:00
    @FourAndHalf 希望能提 issue 或者 pr!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   952 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:24 · PVG 03:24 · LAX 11:24 · JFK 14:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.