跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 基于生命游戏(game of life)衍生的一个图形玩具
未分類
2021 年 4 月 1 日

基于生命游戏(game of life)衍生的一个图形玩具

基于生命游戏(game of life)衍生的一个图形玩具

資深大佬 : jiyinyiyong 2

生命游戏应该都知道, 我这边是改了一下设定的规则, 然后在有限的格子上生成图案.

先上图:

基于生命游戏(game of life)衍生的一个图形玩具 基于生命游戏(game of life)衍生的一个图形玩具 基于生命游戏(game of life)衍生的一个图形玩具 基于生命游戏(game of life)衍生的一个图形玩具 基于生命游戏(game of life)衍生的一个图形玩具 基于生命游戏(game of life)衍生的一个图形玩具 基于生命游戏(game of life)衍生的一个图形玩具 基于生命游戏(game of life)衍生的一个图形玩具 基于生命游戏(game of life)衍生的一个图形玩具

具体的用法可以看录的介绍

https://www.bilibili.com/video/BV1xN411X7zh/

对应地址

  • 规则编辑器 http://repo.memkits.org/life-patterns/
  • 渲染器 http://repo.memkits.org/random-lives/?size=80 (size 控制格子大小, 性能不好, 大了容易慢)
  • 捉 bug https://github.com/Memkits/life-patterns

大体的介绍的话, 就是通过九宫格的 2^9 种状态, 来迭代中心的格子下一时刻的状态(0 或 1), 因为九宫格的可能性有 2^9 种, 这样再排列组合的话, 可能性就非常多了. 为了生成图案方便, 规则应该是对称的, 那么总体数量可以去掉一些重复… 按照生命游戏的设定, 直接按照个数来决定了.. 然而不对称也能运行, 只是特别容易乱. 我这边只是探索了一下简单的一些情况, 生成了上边的图.

3×3 的格子, 对应的就是 3×1 的二维的版本了. 而一维的版本, 听说已经研究比较透了, 也比较有意思 https://en.wikipedia.org/wiki/Elementary_cellular_automaton 现在这个版本, 也有受到上边这个自动机的启发. 不过我也不是搞数学的, 加上 3×3 排列出来的可能性非常多, 也就只能生成图案当做玩具了.

另外渲染器基于 PIXI 的 virtual DOM 方案实现的, 性能比较差. 理论上讲可以直接 WebGL 底层玩法的改成高性能的版本, 不过写起来就没这么省事了. 具体到我这边生成的规则是这样的… 比如:

_______1__11111_1_11_1111111111__111_11_111_1___1111111_111_1__1__11_11__11_1____111111_111_1___111_1___1_______111_1___1________111111_111_1___1111111_111_1___111_1___1_______111_1___1_1______11_1___1_______111_1___1__1____1_______________1_________________11_11_111_1____111111_111_1____11_1___1_______111_1___1________11_1___1_______111_1___1_______1_______________1________________11_1___1_______111_1___1_______1_______________1_____1_________1_______________1_______________________________________1_______ 

它的长度是 2^9 , 然后每一个位置的 _ 或者 1 对应 false 和 true. 然后对应九宫格的选中点, 从左往右, 从上到下的话, 以此取 2^(8-n) 之和, 从 0 开始计数.

基于生命游戏(game of life)衍生的一个图形玩具

这个和就是 2^9 的字符串上的坐标值, 然后就可以查询到 Bool 值. 按说是可以沿用我的规则编辑器, 然后另外用 WebGL 写个高性能版本的.

看下有没人有兴趣再弄点有意思的图案出来..

大佬有話說 (2)

  • 資深大佬 : rbw

    诶 这个不错 话说老哥你知道有木有人做这种动态壁纸?

  • 主 資深大佬 : jiyinyiyong

    @rbw 木有诶.. 静态壁纸倒是可以改改代码画一个, 动态的不清楚怎么实现了.

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具