提出生命游戏的那位数学家因新冠肺炎去世了,再提下自己弄的生命游戏实现 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
LeslieWongH
V2EX    分享创造

提出生命游戏的那位数学家因新冠肺炎去世了,再提下自己弄的生命游戏实现

  •  
  •   LeslieWongH 2020-04-19 23:30:40 +08:00 4050 次点击
    这是一个创建于 2011 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个多月前的时候,在 V 站里分享了自己实现的生命游戏在线演示网站,

     耳目一新而又颇显优雅的生命游戏在线探索网站: t/650832#reply17 

    得到了 V 友的很热情的回复,也对生命游戏相关的东西了解了更多。

    前两天,在朋友邮件提示下,才得知提出生命游戏的那位英国数学家约翰康威因为疫情而不幸去世了。

    image.png

    当时的自己是有几分悲伤情绪的,毕竟自己在这个生命游戏相关的实现上投入了许多,也很敬佩首创这个规则的这位数学家。

    斯人已逝,再分享下自己的这个生命游戏实现好了,以此缅怀。

    Website:https://playgameoflife.live/

    GitHub: https://github.com/Leslie-Wong-H/game_of_life

    与上次分享相比有了些部署的变化,上次分享的是部署在 github pages 上的,而现在的这个网站则是用了 heroku 的 serverless 服务,选用 node+express 作为后端来渲染自己弄的这个前端页面,开发的自动化程度提高了很多。

    再次欢迎 V 友体验,感受生命游戏的世界 (对了,还是仅限于桌面版和 iPad)


    gif2


    gif1


    第 1 条附言    2020-04-20 02:26:05 +08:00
    算法实现上自己还是用的全部矩阵点串行扫描验证生命游戏规则的笨方法,
    超大规模矩阵上运行性能就有点吃力了。先前见过一个哥们用矩阵稀疏化的方法来实现,略掉了那些一直没有变化的矩阵点,很省算力。也在 matlab 之父写的 matlab 入门书上看到有这种思想的生命游戏实现。
    不过自己一直没搞懂细节。
    总觉得继续发掘的话或许可以理解视频压缩技术背后的原理,毕竟都是动态变化的图片(矩阵),只是生命游戏明确了变化规则----
    第 2 条附言    2020-04-21 00:48:29 +08:00
    感谢 @no1xsyzy 分享,来自 xkcd 站点的生命游戏漫画
    https://xkcd.com/2293/
    第 3 条附言    2020-04-21 02:31:14 +08:00
    来自 @CasualYours 的 Canvas+React 版的生命游戏实现 https://gameoflife.xdbin.com
    15 条回复    2020-04-22 17:54:24 +08:00
    WorldHi
        1
    WorldHi  
       2020-04-20 01:01:28 +08:00 via iPhone
    是你吗,吴承恩?
    LincolnZh
        2
    LincolnZh  
       2020-04-20 01:07:42 +08:00 via iPhone   1
    支持一下。前几天用 Python 试着写了一个,还是很奇妙的
    maggch
        3
    maggch  
       2020-04-20 01:49:10 +08:00 via Android
    这样推广有意思吗?
    LeslieWongH
        4
    LeslieWongH  
    OP
       2020-04-20 02:25:01 +08:00 via iPhone
    @LincolnZh 算法实现上自己还是用的全部矩阵点串行扫描验证生命游戏规则的笨方法,
    超大规模矩阵上运行性能就有点吃力了。先前见过一个哥们用矩阵稀疏化的方法来实现,略掉了那些一直没有变化的矩阵点,很省算力。也在 matlab 之父写的 matlab 入门书上看到有这种思想的生命游戏实现。
    不过自己一直没搞懂细节。
    总觉得继续发掘的话或许可以理解视频压缩技术背后的原理,毕竟都是动态变化的图片(矩阵),只是生命游戏明确了变化规则----
    reself
        5
    reself  
       2020-04-20 02:50:26 +08:00 via Android
    元胞自动机?
    LeslieWongH
        6
    LeslieWongH  
    OP
       2020-04-20 03:07:35 +08:00 via iPhone
    @reself CS 应该有一门选修课叫《自动机理论》。拿这个来当第一节课的自动机模型演示挺好
    tomoya92
        7
    tomoya92  
       2020-04-20 06:26:19 +08:00 via iPhone   1
    楼主这篇帖子让我想起了章金莱。。
    aogu555
        8
    aogu555  
       2020-04-20 09:53:26 +08:00
    说真的你这样在别人去世的新闻里插入自己的推广,让我感觉有点奇怪...特别是楼上说的章金莱...
    LeslieWongH
        9
    LeslieWongH  
    OP
       2020-04-20 10:13:18 +08:00 via iPhone
    @aogu555 不太理解这种思维方式。自己又不是新闻媒体然后要去报道什么的。只是借了分享创造这个节点的浓厚分享氛围来再提下自己的实现来缅怀下逝者,也让更多些人了解下生命游戏罢了。
    竟然被理解为消费推广。。。
    就事论事还带被冤枉的……
    CasualYours
        10
    CasualYours  
       2020-04-20 11:10:15 +08:00
    @LeslieWongH 直接操作 DOM 节点是不是性能太差了?

    我昨天用 h5 的 canvas 实现了一下。https://gameoflife.xdbin.com
    LeslieWongH
        11
    LeslieWongH  
    OP
       2020-04-20 11:56:54 +08:00
    @CasualYours 当时在物色动画库的时候选了 JSXGraph,很喜欢它的 ui,也就一直搞下去了,没考虑 canvas 。这种红色圆形来表示细胞的方式显得较为优雅。自己见到太多实现都是直接就是一个黑格子的了,总感觉 UX 上欠缺了些。
    LeslieWongH
        12
    LeslieWongH  
    OP
       2020-04-20 12:07:22 +08:00
    @CasualYours 统计图的效果很酷炫
    no1xsyzy
        13
    no1xsyzy  
       2020-04-20 13:14:10 +08:00   1
    把默认图设置为这张吧
    https://xkcd.com/2293/
    LeslieWongH
        14
    LeslieWongH  
    OP
       2020-04-21 00:42:14 +08:00 via iPhone
    感谢 @no1xsyzy 分享,来自 xkcd 站点的生命游戏漫画
    [https://xkcd.com/2293/]( https://xkcd.com/2293/)
    ![pic_quark_1587400582470.jpg]( https://i.loli.net/2020/04/21/fnkMm8GgU5L6JuD.gif)
    LeslieWongH
        15
    LeslieWongH  
    OP
       2020-04-22 17:54:24 +08:00
    @no1xsyzy 把首次加载的渲染矩阵改为这个人物样式了。https://playgameoflife.live
    不过 xkcd 作者原意貌似带着点贬的感觉……
    行吧~现在是真的是昔人已乘黄鹤去了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3173 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 11:17 PVG 19:17 LAX 04:17 JFK 07:17
    Do have faith in what you're doing.
    ubao msn 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