渲染了一些新作品,年前给自己的项目做最后一次宣传 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
mathzhaoliang
V2EX    分享创造

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

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

    项目地址在这里: 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     Solana     3470 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 04:43 PVG 12:43 LAX 21:43 JFK 00:43
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86